/* =========================================================
   PATNA DESIGN SYSTEM
   PHP 7.4 / Mobile First
   ========================================================= */

:root {
    --patna-primary: #7c3aed;
    --patna-primary-dark: #5b21b6;
    --patna-primary-soft: #f3e8ff;

    --patna-bg: #f7f7fb;
    --patna-surface: #ffffff;

    --patna-text: #171522;
    --patna-text-soft: #6f6b7a;
    --patna-muted: #9a96a5;

    --patna-border: #eceaf1;

    --patna-success: #16a34a;
    --patna-warning: #d97706;
    --patna-danger: #dc2626;

    --patna-radius-sm: 10px;
    --patna-radius-md: 16px;
    --patna-radius-lg: 22px;

    --patna-shadow:
        0 8px 30px rgba(23, 21, 34, .06);

    --patna-shadow-small:
        0 3px 14px rgba(23, 21, 34, .05);

    --patna-max-width: 960px;
}


/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    background: var(--patna-bg);
    color: var(--patna-text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;

    font-size: 15px;
    line-height: 1.5;

    -webkit-font-smoothing: antialiased;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

a {
    color: inherit;
}


/* =========================================================
   GLOBAL CONTAINER
   ========================================================= */

.patna-container {
    width: min(
        var(--patna-max-width),
        calc(100% - 32px)
    );

    margin: 0 auto;
}


/* =========================================================
   APP HEADER
   ========================================================= */

.patna-header {
    position: sticky;
    top: 0;
    z-index: 900;

    height: 68px;

    background: rgba(255,255,255,.94);

    border-bottom: 1px solid var(--patna-border);

    backdrop-filter: blur(16px);
}

.patna-header-inner {
    height: 100%;

    width: min(
        var(--patna-max-width),
        calc(100% - 32px)
    );

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.patna-brand {
    display: flex;
    align-items: center;
    gap: 10px;

    text-decoration: none;
}

.patna-brand-mark {
    width: 38px;
    height: 38px;

    border-radius: 12px;

    background: #ff0000;

    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-weight: 900;
    font-size: 18px;

    box-shadow:
        0 5px 16px rgba(124,58,237,.25);
}

.patna-brand-name {
    font-size: 19px;
    font-weight: 850;
    letter-spacing: -.4px;
}

.patna-header-action {
    width: 40px;
    height: 40px;

    border: 1px solid var(--patna-border);
    border-radius: 50%;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--patna-text);
}


/* =========================================================
   PAGE
   ========================================================= */

.patna-page {
    min-height: 100vh;
    padding-bottom: 92px;
}

.patna-main {
    padding: 22px 0 30px;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

.patna-page-heading {
    margin-bottom: 18px;
}

.patna-page-heading h1 {
    margin: 0;

    font-size: 25px;
    line-height: 1.2;

    letter-spacing: -.7px;
}

.patna-page-heading p {
    margin: 6px 0 0;

    color: var(--patna-text-soft);

    font-size: 14px;
}


/* =========================================================
   SEARCH
   ========================================================= */

.patna-search {
    position: relative;
    margin-bottom: 18px;
}

.patna-search input {
    width: 100%;
    height: 50px;

    border: 1px solid var(--patna-border);
    border-radius: 14px;

    background: #fff;

    padding: 0 16px 0 46px;

    outline: none;

    color: var(--patna-text);

    box-shadow: var(--patna-shadow-small);
}

.patna-search input:focus {
    border-color: var(--patna-primary);

    box-shadow:
        0 0 0 3px rgba(124,58,237,.10);
}

.patna-search-icon {
    position: absolute;

    left: 16px;
    top: 50%;

    transform: translateY(-50%);

    color: var(--patna-muted);
}


/* =========================================================
   MEMBER LIST
   ========================================================= */

.patna-member-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.patna-member-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: 13px;

    background: var(--patna-surface);

    border: 1px solid var(--patna-border);

    border-radius: var(--patna-radius-md);

    padding: 13px;

    box-shadow: var(--patna-shadow-small);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.patna-member-card:hover {
    transform: translateY(-1px);

    border-color: #ddd7e8;

    box-shadow: var(--patna-shadow);
}


/* =========================================================
   AVATAR
   ========================================================= */

.patna-avatar {
    width: 58px;
    height: 58px;

    min-width: 58px;

    border-radius: 50%;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #ede9fe,
            #ddd6fe
        );

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--patna-primary-dark);

    font-weight: 850;
    font-size: 20px;
}

.patna-avatar img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   MEMBER INFORMATION
   ========================================================= */

.patna-member-info {
    min-width: 0;
    flex: 1;
}

.patna-member-name {
    display: flex;
    align-items: center;
    gap: 5px;

    font-weight: 800;

    font-size: 15px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.patna-member-meta {
    margin-top: 3px;

    color: var(--patna-text-soft);

    font-size: 12px;
}

.patna-member-location {
    margin-top: 2px;

    color: var(--patna-muted);

    font-size: 12px;
}


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.patna-member-actions {
    display: flex;
    align-items: center;
    gap: 5px;
}

.patna-icon-button {
    width: 38px;
    height: 38px;

    padding: 0;

    border: 1px solid var(--patna-border);

    border-radius: 50%;

    background: #fff;

    color: var(--patna-text-soft);

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;

    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.patna-icon-button:hover {
    transform: translateY(-1px);

    background: var(--patna-primary-soft);

    color: var(--patna-primary);

    border-color: #ddd0f7;
}

.patna-icon-button.favorite-active {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #e11d48;
}

.patna-icon-button.message-disabled {
    opacity: .35;
    cursor: not-allowed;
}


/* =========================================================
   SVG ICON
   ========================================================= */

.patna-icon {
    width: 18px;
    height: 18px;

    stroke: currentColor;

    fill: none;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   REPORT BADGE
   ========================================================= */

.patna-warning {
    width: 17px;
    height: 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 900;

    background: #fff7ed;
    color: var(--patna-warning);

    border: 1px solid #fed7aa;
}

.patna-warning-danger {
    background: #fef2f2;
    color: var(--patna-danger);

    border-color: #fecaca;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.patna-empty {
    background: #fff;

    border: 1px solid var(--patna-border);

    border-radius: var(--patna-radius-lg);

    padding: 55px 25px;

    text-align: center;

    box-shadow: var(--patna-shadow-small);
}

.patna-empty-icon {
    width: 54px;
    height: 54px;

    margin: 0 auto 15px;

    border-radius: 50%;

    background: var(--patna-primary-soft);

    color: var(--patna-primary);

    display: flex;
    align-items: center;
    justify-content: center;
}

.patna-empty h3 {
    margin: 0;

    font-size: 17px;
}

.patna-empty p {
    margin: 7px 0 0;

    color: var(--patna-text-soft);

    font-size: 13px;
}


/* =========================================================
   BOTTOM NAVIGATION
   ========================================================= */

.patna-bottom-nav {
    position: fixed;

    left: 0;
    right: 0;
    bottom: 0;

    z-index: 1000;

    height: 76px;

    background: rgba(255,255,255,.96);

    border-top: 1px solid var(--patna-border);

    backdrop-filter: blur(18px);

    display: flex;
    align-items: center;
    justify-content: center;
}

.patna-bottom-nav-inner {
    width: min(
        520px,
        100%
    );

    height: 100%;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.patna-nav-item {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    text-decoration: none;

    color: var(--patna-muted);

    font-size: 10px;
    font-weight: 750;
}

.patna-nav-item .patna-icon {
    width: 21px;
    height: 21px;
}

.patna-nav-item.active {
    color: var(--patna-primary);
}

.patna-nav-item.active::before {
    content: "";

    position: absolute;

    top: 0;

    width: 25px;
    height: 3px;

    border-radius: 0 0 5px 5px;

    background: var(--patna-primary);
}


/* =========================================================
   FORM SYSTEM
   ========================================================= */

.patna-form-card {
    background: #fff;

    border: 1px solid var(--patna-border);

    border-radius: var(--patna-radius-lg);

    padding: 22px;

    box-shadow: var(--patna-shadow);
}

.patna-form-group {
    margin-bottom: 17px;
}

.patna-form-label {
    display: block;

    margin-bottom: 7px;

    font-size: 13px;
    font-weight: 750;
}

.patna-form-control {
    width: 100%;

    min-height: 48px;

    padding: 11px 14px;

    border: 1px solid #dedbe5;

    border-radius: 12px;

    background: #fff;

    color: var(--patna-text);

    outline: none;
}

.patna-form-control:focus {
    border-color: var(--patna-primary);

    box-shadow:
        0 0 0 3px rgba(124,58,237,.10);
}

textarea.patna-form-control {
    min-height: 120px;
    resize: vertical;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.patna-btn {
    min-height: 46px;

    border: 0;

    border-radius: 12px;

    padding: 0 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    font-weight: 800;

    text-decoration: none;

    transition: .18s ease;
}

.patna-btn-primary {
    background: var(--patna-primary);
    color: #fff;

    box-shadow:
        0 6px 18px rgba(124,58,237,.22);
}

.patna-btn-primary:hover {
    background: var(--patna-primary-dark);
    transform: translateY(-1px);
}

.patna-btn-block {
    width: 100%;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 600px) {

    .patna-container {
        width: calc(100% - 22px);
    }

    .patna-main {
        padding-top: 16px;
    }

    .patna-page-heading h1 {
        font-size: 22px;
    }

    .patna-member-card {
        padding: 11px;
    }

    .patna-avatar {
        width: 52px;
        height: 52px;
        min-width: 52px;
    }

    .patna-icon-button {
        width: 34px;
        height: 34px;
    }

    .patna-member-actions {
        gap: 3px;
    }

    .patna-form-card {
        padding: 17px;
    }
}

/* =========================================================
   PATNA HOMEPAGE
   ========================================================= */

.home {
    min-height: 100vh;
    background: #faf9fc;
    color: #18151f;
}


/* Container */

.home .container {
    width: 760px;
    max-width: calc(100% - 28px);
    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.home-header {
    padding: 52px 0 32px;
    text-align: center;
}


.home-header .logo {
    width:100px;
    height:100px;
    margin:0 auto 15px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.home-header .logo img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}


.home-header h1 {
    margin: 0;

    color: #18151f;

    font-size: 40px;
    line-height: 1.1;

    font-weight: 900;

    letter-spacing: -1.3px;
}


.home-header p {
    max-width: 510px;

    margin: 12px auto 0;

    color: #716b78;

    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   CATEGORY SECTION
   ========================================================= */

.category-section {
    padding: 8px 0 45px;
}


.category-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;
}


/* =========================================================
   CATEGORY CARD
   ========================================================= */

.category-card {
    min-height: 98px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    padding: 15px;

    box-sizing: border-box;

    background: #ffffff;

    border: 1px solid #ebe7ef;

    border-radius: 17px;

    color: #18151f;

    text-decoration: none;

    box-shadow:
        0 4px 16px rgba(20, 16, 30, .035);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}


.category-card:hover {
    transform: translateY(-2px);

    border-color: #d8c8f5;

    box-shadow:
        0 10px 28px rgba(20, 16, 30, .08);
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.category-card-content {
    display: flex;

    align-items: center;

    gap: 13px;

    min-width: 0;

    flex: 1;
}


/* =========================================================
   ICON
   ========================================================= */

.category-icon {
    width: 47px;
    height: 47px;

    flex: 0 0 47px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: #f1ebff;

    color: #7c3aed;

    font-size: 24px;

    font-weight: 700;
}


/* =========================================================
   CATEGORY NAME
   ========================================================= */

.category-card-content h3 {
    margin: 0;

    color: #18151f;

    font-size: 13px;

    line-height: 1.3;

    font-weight: 850;
}


/* =========================================================
   ARROW
   ========================================================= */

.category-arrow {
    width: 29px;
    height: 29px;

    flex: 0 0 29px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #faf9fc;

    color: #aaa4b1;

    font-size: 18px;

    font-weight: 700;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .home .container {
        width: calc(100% - 22px);
    }


    .home-header {
        padding-top: 38px;
    }


    .home-header h1 {
        font-size: 31px;
    }


    .home-header p {
        font-size: 13px;
    }


    .category-grid {
        grid-template-columns: 1fr;
    }


    .category-card {
        min-height: 88px;
    }

}


@media (max-width: 360px) {

    .home-header h1 {
        font-size: 28px;
    }


    .category-card-content h3 {
        font-size: 12px;
    }

}

/* ============================================================
   PATNA AUTH PAGES
   LOGIN + REGISTER
   ============================================================ */

.auth-page {
    width: 100%;
    min-height: 100vh;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 30px 15px !important;

    box-sizing: border-box;

    background:
        radial-gradient(
            circle at top center,
            rgba(124, 58, 237, .09),
            transparent 42%
        ),
        #faf9fc;
}


/* ============================================================
   AUTH CARD
   ============================================================ */

.auth-page .auth-card {
    display: block !important;

    width: 100% !important;
    max-width: 440px !important;

    margin: 0 auto !important;

    padding: 32px !important;

    box-sizing: border-box;

    background: #ffffff;

    border: 1px solid #ebe7ef;

    border-radius: 22px;

    box-shadow:
        0 15px 45px rgba(20, 16, 30, .08);

    text-align: left;
}


/* ============================================================
   HEADER
   ============================================================ */

.auth-page .auth-header {
    display: block;

    width: 100%;

    margin: 0 0 25px;

    text-align: center;
}


.auth-page .auth-header .logo {
    width: 58px !important;
    height: 58px !important;

    margin: 0 auto 16px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 17px;

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #9333ea
        );

    color: #ffffff;

    font-size: 25px;

    font-weight: 900;

    box-shadow:
        0 10px 24px rgba(124, 58, 237, .22);
}


.auth-page .auth-header h1 {
    margin: 0;

    color: #18151f;

    font-size: 25px;

    line-height: 1.2;

    font-weight: 900;

    letter-spacing: -.5px;
}


.auth-page .auth-header p {
    margin: 8px 0 0;

    color: #77717f;

    font-size: 13px;

    line-height: 1.5;
}


.auth-page .auth-header strong {
    color: #7c3aed;

    font-weight: 800;
}


/* ============================================================
   FORM
   ============================================================ */

.auth-page form {
    width: 100%;
    margin: 0;
}


.auth-page .form-group {
    width: 100%;

    margin: 0 0 17px;
}


.auth-page .form-group label {
    display: block;

    margin: 0 0 7px;

    color: #292431;

    font-size: 12px;

    font-weight: 800;
}


.auth-page .form-control {
    display: block;

    width: 100% !important;

    min-height: 48px;

    padding: 12px 14px;

    margin: 0;

    box-sizing: border-box;

    border: 1px solid #ded9e5;

    border-radius: 12px;

    outline: none;

    background: #ffffff;

    color: #211d27;

    font-family: inherit;

    font-size: 13px;

    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}


.auth-page .form-control:focus {
    border-color: #8b5cf6;

    box-shadow:
        0 0 0 3px rgba(124, 58, 237, .10);
}


.auth-page .form-control::placeholder {
    color: #aaa4b0;
}


/* ============================================================
   BUTTON
   ============================================================ */

.auth-page .btn {
    display: block;

    width: 100% !important;

    box-sizing: border-box;

    margin: 0;

    cursor: pointer;

    font-family: inherit;

    border: 0;
}


.auth-page .btn-primary {
    min-height: 48px;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #7c3aed,
            #9333ea
        );

    color: #ffffff;

    font-size: 13px;

    font-weight: 850;

    box-shadow:
        0 8px 20px rgba(124, 58, 237, .20);
}


.auth-page .btn-primary:hover {
    transform: translateY(-1px);

    box-shadow:
        0 11px 25px rgba(124, 58, 237, .26);
}


/* ============================================================
   ALERTS
   ============================================================ */

.auth-page .alert {
    width: 100%;

    box-sizing: border-box;

    margin: 0 0 18px;

    padding: 12px 14px;

    border-radius: 11px;

    font-size: 12px;

    line-height: 1.5;
}


.auth-page .alert-danger {
    background: #fff1f2;

    border: 1px solid #fecdd3;

    color: #be123c;
}


.auth-page .alert-success {
    background: #f0fdf4;

    border: 1px solid #bbf7d0;

    color: #15803d;
}


.auth-page .alert-warning {
    background: #fffbeb;

    border: 1px solid #fde68a;

    color: #a16207;
}


/* ============================================================
   AUTH LINKS
   ============================================================ */

.auth-page a {
    color: #7c3aed;

    text-decoration: none;
}


.auth-page a:hover {
    text-decoration: underline;
}


/* ============================================================
   SMALL TEXT
   ============================================================ */

.auth-page small {
    display: block;

    margin-top: 5px;

    color: #96909c;

    font-size: 10px;

    line-height: 1.4;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .auth-page {
        min-height: 100vh;

        align-items: flex-start !important;

        justify-content: center !important;

        padding: 22px 11px !important;
    }


    .auth-page .auth-card {
        width: 100% !important;

        max-width: 440px !important;

        margin: 0 auto !important;

        padding: 25px 19px !important;

        border-radius: 19px;
    }


    .auth-page .auth-header .logo {
        width: 54px !important;
        height: 54px !important;
    }


    .auth-page .auth-header h1 {
        font-size: 23px;
    }

}

/* ============================================================
   PATNA PENDING / ACCOUNT ACTIVATION PAGE
   ============================================================ */

.auth-page {
    width: 100% !important;
    min-height: 100vh !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box;

    margin: 0 !important;
    padding: 30px 15px !important;

    background:
        radial-gradient(
            circle at top center,
            rgba(124, 58, 237, 0.09),
            transparent 42%
        ),
        #faf9fc;
}


/* Main card */

.auth-page .auth-card {
    width: 100% !important;
    max-width: 440px !important;

    margin: 0 auto !important;
    padding: 32px !important;

    box-sizing: border-box;

    background: #ffffff;

    border: 1px solid #ebe7ef;

    border-radius: 22px;

    box-shadow:
        0 18px 50px rgba(20, 16, 30, 0.08);
}


/* Header */

.auth-page .auth-header {
    width: 100%;

    margin: 0 0 25px;

    text-align: center;
}


.auth-page .auth-header .logo {
    width: 58px !important;
    height: 58px !important;

    margin: 0 auto 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 17px;

    background: #ff0000;

    color: #ffffff;

    font-size: 25px;
    font-weight: 900;

    box-shadow:
        0 10px 25px rgba(124, 58, 237, 0.22);
}


.auth-page .auth-header h1 {
    margin: 0;

    color: #18151f;

    font-size: 26px;
    line-height: 1.2;

    font-weight: 900;

    letter-spacing: -0.6px;
}


.auth-page .auth-header p {
    margin: 9px 0 0;

    color: #77717f;

    font-size: 13px;

    line-height: 1.6;
}


.auth-page .auth-header strong {
    color: #7c3aed;
}


/* Alerts */

.auth-page .alert {
    width: 100%;

    box-sizing: border-box;

    margin: 0 0 18px;

    padding: 14px 15px;

    border-radius: 12px;

    font-size: 12px;

    line-height: 1.6;
}


.auth-page .alert-warning {
    background: #fffbeb;

    border: 1px solid #fde68a;

    color: #92400e;
}


.auth-page .alert-success {
    background: #f0fdf4;

    border: 1px solid #bbf7d0;

    color: #166534;
}


.auth-page .alert-danger {
    background: #fff1f2;

    border: 1px solid #fecdd3;

    color: #be123c;
}


/* Access fee area */

.auth-page .auth-card > div[style*="text-align:center"] {
    box-sizing: border-box;
}


.auth-page .auth-card > div[style*="font-size:36px"] {
    color: #18151f !important;

    font-size: 36px !important;

    font-weight: 900 !important;

    letter-spacing: -1px;
}


/* Payment button */

.auth-page .btn-primary {
    display: flex !important;

    width: 100% !important;
    min-height: 50px;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border: 0;

    border-radius: 13px;

    background: #ff0000;

    color: #ffffff !important;

    text-decoration: none;

    font-size: 13px;

    font-weight: 850;

    box-shadow:
        0 9px 22px rgba(124, 58, 237, 0.20);

    cursor: pointer;

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}


.auth-page .btn-primary:hover {
    transform: translateY(-1px);

    box-shadow:
        0 12px 27px rgba(124, 58, 237, 0.27);
}


/* Secondary button */

.auth-page .btn-secondary {
    display: flex !important;

    width: 100% !important;
    min-height: 48px;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border-radius: 12px;

    background: #f5f3f7;

    color: #4b4552 !important;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;
}


/* Category section */

.auth-page .auth-card strong {
    color: #292431;
}


/* Divider */

.auth-page .auth-card > div[style*="border-top"] {
    border-top: 1px solid #eeeaf1 !important;

    margin-top: 25px !important;
}


/* Logout */

.auth-page .auth-card a[href="/logout.php"] {
    color: #77717f !important;

    text-decoration: none;

    font-weight: 700;
}


.auth-page .auth-card a[href="/logout.php"]:hover {
    color: #7c3aed !important;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .auth-page {
        min-height: 100vh !important;

        align-items: flex-start !important;

        padding: 22px 11px !important;
    }


    .auth-page .auth-card {
        width: 100% !important;
        max-width: 440px !important;

        margin: 0 auto !important;

        padding: 25px 19px !important;

        border-radius: 19px;
    }


    .auth-page .auth-header .logo {
        width: 54px !important;
        height: 54px !important;

        border-radius: 16px;

        font-size: 23px;
    }


    .auth-page .auth-header h1 {
        font-size: 23px;
    }


    .auth-page .auth-header p {
        font-size: 12px;
    }


    .auth-page .auth-card > div[style*="font-size:36px"] {
        font-size: 32px !important;
    }

}

.registration-fee-box {
    background:#fff1f1;
    border:2px solid #ff0000;
    border-radius:16px;
    padding:20px;
    margin:0 0 22px;
    text-align:center;
}

.registration-fee-label {
    color:#991b1b;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:5px;
}

.registration-fee-amount {
    color:#ff0000;
    font-size:36px;
    line-height:1.1;
    font-weight:900;
    margin:5px 0 8px;
}

.registration-fee-title {
    color:#111827;
    font-size:16px;
    font-weight:800;
    margin-bottom:7px;
}

.registration-fee-text {
    color:#7f1d1d;
    font-size:13px;
    line-height:1.6;
    margin:0;
}

.registration-fee-note {
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #fecaca;
    color:#991b1b;
    font-size:12px;
    font-weight:700;
}
