:root {
    /* Neutral + blue accent system (no forest/tan/gold) */
    --color-green: #0f172a;
    --color-red: #dc2626;
    --color-darkerRed: #991b1b;
    --color-gold: #2563eb;
    --color-darkGold: #1d4ed8;
    --color-tan: #eef1f4;
    --color-purple: #0f172a;
    --color-lightGrey: #e8ecf0;
    --color-darkGrey: #d1d5db;
    /* Layout */
    --navbar-height: 64px;
    --navbar-width: 124px;
    --footer-height: 80px;
    --navbar-bg-color: #0f172a;
    --navbar-text-color: #f8fafc;
    --navbar-text-color-focus: #93c5fd;
    --navbar-bg-contrast: #2563eb;
    /* Greyscale */
    --color-grey1: #f8fafc;
    --color-grey2: #e5e7eb;
    --color-grey3: #d1d5db;
    --color-grey4: #9ca3af;
    --color-grey5: #6b7280;
    --color-grey6: #4b5563;
    --color-grey7: #374151;
    --color-grey8: #1f2937;
    /* Border radius scale */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-pill: 999px;
    --test-outline: transparent;
    /* Appointments: blue / red (not olive / cream) */
    --apt-open-bg: #eff6ff;
    --apt-open-border: rgba(37, 99, 235, 0.25);
    --apt-open-text: #1e3a8a;
    --apt-open-accent: #2563eb;
    --apt-open-accent-hover: #1d4ed8;
    --apt-booked-bg: #fef2f2;
    --apt-booked-border: rgba(220, 38, 38, 0.25);
    --apt-booked-text: #7f1d1d;
    --apt-booked-accent: #dc2626;
    --apt-booked-accent-border: rgba(220, 38, 38, 0.4);
}


#page-container {
    position: relative;
    background-color: var(--color-tan);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    outline: 3px solid var(--test-outline);
}
#pageContent-wrap {
    flex: 1 0 auto;
    outline: 3px solid var(--test-outline);
}

#RenderBody {
    flex: 1 0 auto;
}

/* On mobile the sidebar navbar collapses into a fixed top bar. Every
   logged-in page needs to clear that top bar so its first pixel of
   content is not hidden beneath the navbar. The old tenant-pill-bar
   used to do this, but the tenant indicator now lives inside the
   navbar itself, so this is the single source of truth for top-bar
   clearance. */
@media (max-width: 700px) {
    #RenderBody {
        padding-top: calc(var(--navbar-top-height, 50px) + 8px);
    }
}

/* ========================================================================== */
/*  Tenant pill - persistent banner showing which business the page is in.    */
/*  Renders at the top of every authenticated page so the user can tell at    */
/*  a glance whose data they are looking at. Offsets the fixed sidebar on     */
/*  desktop and clears the fixed top bar on mobile.                           */
/* ========================================================================== */

.tenant-pill-bar {
    display: flex;
    justify-content: flex-start;
    margin-left: var(--navbar-width);
    padding: 14px 20px 0;
    box-sizing: border-box;
}

.tenant-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px 8px 12px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: var(--brand-text, #0f172a);
    font-size: 14px;
    max-width: 100%;
}

    .tenant-pill.is-business {
        border-color: #93c5fd;
        background: #eff6ff;
    }

    .tenant-pill.is-platform {
        border-color: #5eead4;
        background: #f0fdfa;
    }

.tenant-pill-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2563eb;
    flex-shrink: 0;
}

    .tenant-pill.is-platform .tenant-pill-dot {
        background: #0F766E;
    }

.tenant-pill-label {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}

    .tenant-pill-label strong {
        font-size: 15px;
        font-weight: 700;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 42vw;
    }

    .tenant-pill-label em {
        font-style: normal;
        font-size: 11px;
        opacity: 0.75;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

.tenant-pill-exit-form {
    margin: 0;
}

.tenant-pill-exit-btn {
    background: transparent;
    color: var(--brand-accent, #A37F41);
    border: 1px solid var(--brand-accent, #A37F41);
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 600;
    letter-spacing: 0.05em;
}

    .tenant-pill-exit-btn:hover {
        background: var(--brand-accent, #A37F41);
        color: #fff;
    }

@media (max-width: 700px) {
    .tenant-pill-bar {
        margin-left: 0;
        padding: calc(var(--navbar-top-height) + 12px) 12px 0;
    }

    .tenant-pill {
        width: 100%;
    }

    .tenant-pill-label strong {
        max-width: 55vw;
    }
}

/* Terms and Policy */

.termsH {
    text-align: left;
}

.termsP {
    text-align: left;
}

#termsPage {
    width: 75%;
    transform: translate(18%, 0%);
}
/*Calendar dropdown tag*/
.tag-dropdown {
    position: relative;
    display: block;
    margin: 10px 0 14px;
}

.tag-dropdown-header {
    border: none;
    background: transparent;
    color: #2f2f2f;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
}

.tag-dropdown-content {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    position: static;
    background: transparent;
    border: none;
    padding: 0;
    margin-top: 0;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.tag-dropdown-content label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px;
    margin: 0;
    width: auto;
    min-width: 92px;
    border: 1px solid rgba(71, 77, 61, 0.3);
    border-radius: var(--radius-pill);
    background: #fff;
    color: #2f2f2f;
    font-size: 12px;
    white-space: nowrap;
    overflow-wrap: normal;
    flex: 0 0 auto;
}

.tag-dropdown-content label input[type="checkbox"] {
    margin: 0;
    accent-color: var(--color-green);
}

.tag-dropdown-content label:has(input:checked) {
    background: #eff6ff;
    border-color: var(--color-green);
}

.tag-dropdown-content form {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    width: max-content;
}

/*Profile*/
#profilePageContainer {
    flex-grow: 1;
    position: relative;
    left: 130px;
    height: auto;
    min-height: 100vh;
    width: calc(100% - 125px);
    background-color: var(--color-tan);
    outline: 3px solid var(--test-outline);
    padding-bottom: 80px; /* Adjust the value as needed */
}

#profile-picture {
    width: 20%; /* This will make the image responsive to the screen width */
    max-width: 150px; /* This will set a maximum width for the image */
    height: 20%; /* This maintains the aspect ratio */
    max-height: 150px;
    border-radius: 50%;
    object-fit: cover;
    display: block; /* This centers the image */
    margin: auto;
}

#manageTitle {
    color: var(--color-green);
    text-align: center;
    font-size: 36px;
}

#profileContainer {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-around; /* Distribute items vertically with space in between */
}

.timeZoneDropDown {
    background-color: var(--color-tan);
    width: 100%;
    height: 25px;
    border-radius: var(--radius-lg);
    color: var(--color-green);
}
/* Remove position, top, left properties from the following styles */
#profileTitle,
#usernameTitle,
#emailTitle,
#instrumentTitle {
    color: var(--color-green);
    text-align: left;
    width: 75%;
    font-size: 18px;
}

/* Adjust the button styles for better spacing */
#editProfileBtn,
#payoutSettingsBtn {
    color: var(--color-tan);
    text-decoration: none;
    background-color: var(--navbar-bg-color);
    border: 0px;
    text-align: center;
    font-family: 'Times New Roman', serif;
    padding: 10px;
    border-radius: var(--radius-lg);
    font-size: 18px;
}
    #payoutSettingsBtn:hover, #editProfileBtn:hover {
        background-color: var(--color-gold);
        color: var(--color-tan);
        transition-duration: 0.5s;
    }
.profileDescription {
    color: var(--color-green);
    padding: 10px;
    box-sizing: border-box; /* Account for padding in width */
    overflow-y: auto; /* Add scrollbar if needed */
    word-break: break-all; /* Break words if needed */
    white-space: pre-wrap; /* Wrap text */
    margin: 0; /* Remove default margins */
    border: 1px solid #ccc;
    border-radius: 4px;
    display: block;
    width: 100%;
    height: 100px;
    white-space: pre-wrap;
    word-wrap: break-word;
    resize: vertical;
}

/* Add media query for responsiveness */
@media screen and (max-width: 700px) {
    #profilePageContainer {
            flex-grow: 1;
            position: relative;
            top: 50px;
            left: 0px;
            height: auto;
            min-height: 100vh;
            width: 100vw;
            background-color: var(--color-tan);
            outline: 3px solid var(--test-outline);
            padding-bottom: 80px; /* Adjust the value as needed */
            padding: 10px; /* Adjust padding for smaller screens */
        }

        #manageTitle {
            color: var(--color-green);
            text-align: center;
            font-size: 24px;
        }
    }
    /*Manage Users*/
    .manageUsersCont {
    justify-content: space-between;
    margin: auto;
    width: calc(100vw - var(--navbar-width)); /* Adjusts the width based on the navbar width */
    margin-left: var(--navbar-width); /* Moves the container over to the right by the width of the navbar */
    min-height: 100vh;
    background-color: var(--color-tan);
}

    #usersHeaderContainer {
        margin: auto;
        padding: 20px;
        text-align: center;
    }

    #usersHeader {
        margin: auto;
        margin-bottom: 0;
        font-size: 36px;
    }

    .manageUsersCont table {
        margin: auto;
        width: 100%;
        table-layout: fixed;
        border-spacing: 8px;
        min-height: 100px;
        height: auto;
    }

    .manageUsersCont th {
        padding: 5px;
        margin: 10px;
        color: black;
        min-height: 50px;
        text-align: center;
        vertical-align: top;
        border-radius: var(--radius-sm);
        background-color: #A5A6A6;
    }

    .manageUsersCont td {
        padding: 5px;
        margin: 10px;
        text-align: center;
        min-height: 50px;
        vertical-align: top;
        border-radius: var(--radius-sm);
        background-color: var(--color-darkGrey);
        white-space: normal;
        overflow: auto;
    }

        .manageUsersCont td:hover {
            background-color: var(--color-red);
            transition-duration: 1s;
        }

    .manageUsersCont tr {
        margin-bottom: 10px;
        min-height: 50px;
    }

    .userEditBtn {
        background-color: var(--color-green);
        border: none;
        color: var(--color-tan);
        padding: 10px 12px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 12px;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

        .userEditBtn:hover {
            background-color: var(--color-darkGold);
            transition-duration: 0.5s;
        }

    .userRoles {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .userRole {
        color: var(--color-tan);
        background-color: #4C4E4E;
        padding: 3px 10px 3px 10px;
        border-radius: var(--radius-sm);
    }

        .userRole:hover {
            background-color: var(--color-gold);
            transition-duration: 0.25s;
        }


@media screen and (max-width: 700px) {
    .manageUsersCont {
        justify-content: space-between;
        margin: auto;
        width: 100vw;
        min-height: 100vh;
        background-color: var(--color-tan);
    }
}

    /*Contact*/

    .hr {
        color: var(--color-green);
        border: 5px solid var(--color-green)
    }

    #contactContent {
        position: relative;
        min-height: 100vh;
        width: 100%;
        outline: 3px solid var(--test-outline);
    }

    #contact-container {
        min-height: 800px;
        text-align: center;
        background-color: var(--color-tan);
        outline: 3px solid var(--test-outline);
    }

    #contact-section1 {
        display: inline-block;
        top: +100px;
        height: 300px;
        width: 75%;
        position: relative;
        text-align: center;
        background-color: var(--color-tan);
        outline: 3px solid var(--test-outline);
    }

    #section1-title1 {
        width: 75%;
        margin: 50px auto;
        color: var(--color-green);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 45px;
        outline: 3px solid var(--test-outline);
        position: relative;
    }

    #section1-title2 {
        width: 50%;
        margin: 30px auto;
        color: var(--color-green);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 20px;
        outline: 3px solid var(--test-outline);
        position: relative;
    }

    #contact-discord-button-container {
        position: relative;
        top: 75px;
        outline: 3px solid var(--test-outline);
    }

    #contact-discord-button {
        padding: 10px 43px;
        text-decoration: none;
        background-color: var(--color-gold);
        border: 2px solid var(--color-gold);
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-pill);
    }

        #contact-discord-button:hover {
            background-color: var(--color-darkGold);
            border: 2px solid var(--color-darkGold);
            color: var(--color-tan);
        }


    @media (max-width: 765px) {
        #section1-title1 {
            font-size: 26px;
        }
    }

    /*Edit Apt*/

    #editAptCont {
        border-radius: var(--radius-lg);
        min-width: 400px;
        width: 50%;
        color: var(--color-tan);
        margin: auto;
        padding: 20px 20px 20px 20px;
        background-color: var(--color-green);
        text-align: center;
    }

    /*Create Apt*/
    #createAptCont {
        border-radius: var(--radius-lg);
        min-width: 300px;
        width: 50%;
        color: var(--color-tan);
        margin: 20px auto;
        padding: 20px 20px 20px 20px;
        background-color: var(--color-green);
        text-align: center;
    }

    .formTag {
        color: var(--color-tan);
        display: block;
        margin: 10px auto;
    }

        .formTag input, .formTag select, .formTag textarea {
            width: 100%;
            border: 2px solid #cbd5e1;
            border-radius: var(--radius-sm);
            padding: 5px;
            color: #0f172a;
            background-color: #ffffff;
            margin: auto;
        }

    .tag {
        width: 100%;
    border: 2px solid #cbd5e1;
        border-radius: var(--radius-sm);
        padding: 5px;
    color: #0f172a;
    background-color: #ffffff;
        margin: auto;
    }

    #createAptBtn {
        color: var(--color-tan);
        background-color: var(--color-gold);
        font-size: 20px;
        cursor: pointer;
        text-decoration: none;
        border: 0;
        border-radius: var(--radius-sm);
        margin: 20px auto;
        padding: 5px 10px;
        display: block;
        outline: 0;
    }

    /*Edit Profile*/
#EditProfileCont {
    height: auto;
    min-height: 100vh;
    background-color: var(--color-tan);
}

    #saveProfileEditBtn {
        background-color: var(--color-gold);
        border: none;
        border-radius: var(--radius-lg);
        padding: 10px;
        color: var(--color-tan);
    }

        #saveProfileEditBtn:hover {
            background-color: var(--color-darkGold);
            border: none;
            border-radius: var(--radius-lg);
            padding: 10px;
            color: var(--color-tan);
            transition-duration: 0.5s;
        }

    /*Login*/

    #loginContainer {
        top: 100px;
        min-height: 750px;
        width: 100vw;
        height: 100vh;
        background-color: var(--color-tan);
    }

    #cont {
        border-radius: var(--radius-lg);
        top: 250px;
        overflow: hidden;
        position: relative;
        left: 40%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: min(900px, 95vw);
        height: 550px;
        background: var(--color-tan);
    }

    #welcomeContainer {
        position: relative;
        left: 300px;
        width: 300px;
        top: 45px;
    }

    #cont2 {
        overflow: hidden;
        position: absolute;
        left: 640px;
        top: 0;
        width: 900px;
        height: 100%;
        padding-left: 260px;
        background: var(--color-green);
    }

    #info2 {
        overflow: hidden;
        z-index: 2;
        position: absolute;
        left: 0;
        top: 0;
        width: 260px;
        height: 100%;
        padding-top: 360px;
    }

    #text {
        z-index: 2;
        position: absolute;
        left: 0;
        top: 50px;
        width: 100%;
        padding: 0 20px;
        text-align: center;
        color: var(--color-tan);
    }

    #info2Btn {
        overflow: hidden;
        z-index: 0;
        width: 150px;
        height: 36px;
        margin: 0 auto;
        background-color: transparent;
        color: transparent;
        text-transform: uppercase;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
    }

    #signupBtn {
        background-color: var(--color-tan);
        color: var(--color-green);
        border: none;
        padding: 5px 36px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        z-index: 2;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
        transition-duration: 0.4s;
    }

        #signupBtn:hover {
            background-color: var(--color-gold);
            color: var(--color-tan)
        }

    h2 {
        width: 100%;
        font-size: 26px;
        text-align: center;
        color: var(--color-green);
    }


    label {
        display: block;
        width: 260px;
        margin: 25px auto 0;
        text-align: center;
        color: var(--color-green);
    }

        label span {
            font-size: 12px;
            color: #bababa;
            text-transform: uppercase;
            color: var(--color-green);
        }

    input {
        font-family: 'Times New Roman', serif;
        display: hidden;
        width: 100%;
        background: none;
        background-color: transparent;
        outline: none;
        color: var(--color-green);
        margin-top: 5px;
        padding-bottom: 5px;
        font-size: 16px;
        text-align: center;
        border: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.4);
    }

    #info1Btn {
        overflow: hidden;
        position: center;
        z-index: 0;
        width: 150px;
        height: 36px;
        margin: 0 auto;
        background-color: transparent;
        color: transparent;
        text-transform: uppercase;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
    }

    #button {
        background-color: var(--color-gold);
        color: var(--color-tan);
        border: none;
        padding: 10px 40px;
        font-family: 'Times New Roman', serif;
        text-transform: uppercase;
        z-index: 2;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
        transition-duration: 0.4s;
    }

        #button:hover {
            background-color: var(--color-green);
            color: var(--color-tan)
        }


    @media (max-width: 765px) {

        #cont2 {
            overflow: hidden;
            position: absolute;
            left: 300px;
            top: 500px;
            width: 300px;
            height: 450px;
            padding-left: 260px;
            background: var(--color-green);
            border-radius: var(--radius-lg);
        }

        #info2 {
            overflow: hidden;
            z-index: 2;
            position: absolute;
            left: 25px;
            top: 0;
            width: 260px;
            height: 100%;
            padding-top: 360px;
        }

        #loginContainer {
            width: 100%;
            height: 1150px;
        }

        #cont {
            border-radius: var(--radius-lg);
            top: 250px;
            overflow: hidden;
            position: relative;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: min(900px, 95vw);
            height: 950px;
            background: var(--color-tan);
        }
    }

    /*Register*/
    #registerContainer {
        width: 100vw;
        height: 100vh;
        min-height: 750px;
        background-color: var(--color-tan);
    }

    #cont1 {
        border-radius: var(--radius-lg);
        top: 250px;
        overflow: hidden;
        position: relative;
        left: 40%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: min(900px, 95vw);
        height: 550px;
        background: var(--color-tan);
    }

    #regForm {
        position: relative;
        left: 300px;
        width: 300px;
        top: 45px;
    }

    #reg1Btn {
        overflow: hidden;
        position: center;
        z-index: 0;
        width: 150px;
        height: 36px;
        margin: 0 auto;
        background-color: transparent;
        color: transparent;
        text-transform: uppercase;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
    }


    #cont3 {
        overflow: hidden;
        position: absolute;
        left: 640px;
        top: 0;
        width: 900px;
        height: 100%;
        padding-left: 260px;
        background: var(--color-green);
    }

    #info3 {
        overflow: hidden;
        z-index: 2;
        position: absolute;
        left: 0;
        top: 0;
        width: 260px;
        height: 100%;
        padding-top: 360px;
    }

    #text3 {
        z-index: 2;
        position: absolute;
        left: 0;
        top: 50px;
        width: 100%;
        padding: 0 20px;
        text-align: center;
        color: var(--color-tan);
    }

    #info3Btn {
        overflow: hidden;
        position: center;
        z-index: 0;
        width: 150px;
        height: 36px;
        margin: 0 auto;
        background-color: transparent;
        color: transparent;
        text-transform: uppercase;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
    }

    #signinBtn {
        background-color: var(--color-tan);
        color: var(--color-green);
        border: none;
        padding: 5px 36px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        z-index: 2;
        font-size: 15px;
        cursor: pointer;
        border-radius: var(--radius-pill);
        transition-duration: 0.4s;
    }

        #signinBtn:hover {
            background-color: var(--color-gold);
            color: var(--color-tan)
        }

    h2 {
        width: 100%;
        font-size: 26px;
        text-align: center;
        color: var(--color-green);
    }

    label {
        display: block;
        width: 260px;
        margin: 25px auto 0;
        text-align: center;
        color: var(--color-green);
    }

        label span {
            font-size: 12px;
            color: #bababa;
            text-transform: uppercase;
            color: var(--color-green);
        }

    input {
        font-family: 'Times New Roman', serif;
        display: hidden;
        width: 100%;
        background: none;
        background-color: transparent;
        outline: none;
        color: var(--color-green);
        margin-top: 5px;
        padding-bottom: 5px;
        font-size: 16px;
        text-align: center;
        border: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.4);
    }

    #terms {
        color: var(--color-green);
        text-align: center;
    }

    #termsLink {
        color: var(--color-gold);
    }

#errorMsg {
    z-index: 2;
    position: absolute;
    left: 15%;
    top: 200%;
    width: 85%;
    padding: 0 20px;
    text-align: left;
    color: #dc2626;
}

    @media (max-width: 765px) {

        #cont3 {
            overflow: hidden;
            position: absolute;
            left: 300px;
            top: 575px;
            width: 300px;
            height: 450px;
            padding-left: 260px;
            background: var(--color-green);
            border-radius: var(--radius-lg);
        }

        #info3 {
            overflow: hidden;
            z-index: 2;
            position: absolute;
            left: 25px;
            top: 0;
            width: 260px;
            height: 100%;
            padding-top: 360px;
        }

        #registerContainer {
            width: 100%;
            height: 1250px;
        }

        #cont1 {
            border-radius: var(--radius-lg);
            top: 250px;
            overflow: hidden;
            position: relative;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: min(900px, 95vw);
            height: 1050px;
            background: var(--color-tan);
        }
    }

    /*Info*/

    #infoPageContainer {
        display: flex;
        flex-direction: column;
        justify-content: space-between; /* This helps keep the footer at the bottom */
        align-items: stretch;
        position: relative;
        width: calc(100vw - var(--navbar-width)); /* Adjusts the width based on the navbar width */
        margin-left: var(--navbar-width); /* Moves the container over to the right by the width of the navbar */
        min-height: 100vh;
        background-color: var(--color-tan);
        outline: 3px solid var(--test-outline);
        box-sizing: border-box;
        padding-bottom: 80px;
        padding-top: 20px;
    }


    /*Section 1*/
    #sectionOne {
        height: auto;
        outline: 3px solid var(--test-outline);
    }

    #S1C1 {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #S1T1C {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #S1T2C {
        position: relative;
        color: var(--color-green);
        text-align: left;
        left: 12.5%;
        width: 75%;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #S1T3C {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #S1T1 {
        position: relative;
        color: var(--color-green);
        text-align: center;
        width: 100%;
        font-size: 36px;
        outline: 3px solid var(--test-outline);
    }

    #S1T2 {
    }

    /*sectionTwo*/
    #sectionTwo {
        height: auto;
        outline: 3px solid var(--test-outline);
    }

    #S2C1 {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #S2T1C {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #S2T2C {
        position: relative;
        color: var(--color-green);
        text-align: left;
        left: 12.5%;
        width: 75%;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #S2T1 {
        position: relative;
        color: var(--color-green);
        text-align: center;
        width: 100%;
        font-size: 36px;
        outline: 3px solid var(--test-outline);
    }

    #S2T2 {
    }

    /*sectionThree*/
    #sectionThree {
        height: 100%;
        outline: 3px solid var(--test-outline);
    }

    #S3C1 {
        position: relative;
        color: var(--color-green);
        text-align: left;
        left: 12.5%;
        width: 75%;
        font-size: 36px;
        outline: 3px solid var(--test-outline);
    }

    #S3T1C {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #S3T2C {
        position: relative;
        color: var(--color-green);
        text-align: left;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #S3T1 {
        position: relative;
        color: var(--color-green);
        text-align: center;
        width: 100%;
        font-size: 36px;
        outline: 3px solid var(--test-outline);
    }

    #S3T2 {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    /* Media Queries */
    @media screen and (max-width: 768px) {

        #infoPageContainer {
            top: 50px;
            width: 100vw;
            margin-left: 0;
            height: 100%;
            background-color: var(--color-tan);
            outline: 3px solid var(--test-outline);
            padding-bottom: 80px; /* Adjust the value as needed */
            box-sizing: border-box; /* Include padding in element's total width */
            display: flex;
            flex-direction: column;
            justify-content: space-between; /* This helps keep the footer at the bottom */
            align-items: center; /* Center horizontally */
            text-align: center; /* Center text horizontally */
        }

        #sectionOne,
        #sectionTwo,
        #sectionThree {
            height: auto;
            width: 80%;
            display: flex;
            flex-direction: column;
            justify-content: center; /* Center vertically */
            align-items: center; /* Center horizontally */
            text-align: center; /* Center text horizontally */
        }

        #S1C1,
        #S1T1C,
        #S1T2C,
        #S1T3C,
        #S2C1,
        #S2T1C,
        #S2T2C,
        #S3C1,
        #S3T1C,
        #S3T2C {
            left: 0;
            width: 100%;
            font-size: 14px;
        }
    }

    /*Admin Edit*/

    #removeRoleBtn {
        background-color: var(--color-gold);
        border: none;
        color: var(--color-tan);
        padding: 10px 43px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

        #removeRoleBtn:hover {
            background-color: var(--color-darkGold);
            transition-duration: 0.5s;
        }

    #adminEditCancelBtn {
        background-color: var(--color-gold);
        border: none;
        color: var(--color-tan);
        padding: 5px 43px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

        #adminEditCancelBtn:hover {
            background-color: var(--color-darkGold);
            transition-duration: 0.5s;
        }

    /*Pricing*/

#page-content {
    position: relative;
    height: 1000px;
    width: 100%;
    background-color: var(--color-tan);
    outline: 3px solid var(--test-outline);
}

#payment-wrap {
    position: relative;
    text-align: center;
    top: +64px;
    height: 1000px;
    width: calc(100vw - var(--navbar-width)); /* Adjusts the width based on the navbar width */
    margin-left: var(--navbar-width); /* Moves the container over to the right by the width of the navbar */
    outline: 3px solid var(--test-outline);
    background-color: var(--color-tan);
}

@media screen and (max-width: 768px) {
    #payment-wrap {
        position: relative;
        text-align: center;
        width: 100vw;
        margin-left: 0;
        top: +64px;
        height: 1000px;
        outline: 3px solid var(--test-outline);
        background-color: var(--color-tan);
    }
}

    /* Sections */
    /* Section1 */
    #payment-section1 {
        display: inline-block;
        width: 40%;
        position: relative;
        height: 50px;
        background-color: var(--color-tan);
        margin: 30px auto;
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 45px;
        outline: 3px solid transparent;
    }

    /* Section2 */
    #payment-section2 {
        position: relative;
        height: 300px;
        text-align: center;
        margin: auto;
        outline: 3px solid var(--test-outline);
    }

    /* Section3 */
    #payment-section3 {
        display: inline-block;
        width: 40%;
        position: relative;
        top: -12px;
        height: 50px;
        outline: 3px solid var(--test-outline);
        background-color: var(--color-tan);
        margin: 15px auto;
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 28px;
        outline: 3px solid var(--test-outline);
    }

    /* Section4 */
    #payment-section4 {
        position: relative;
        height: 50px;
        top: -25px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        background-color: var(--color-tan);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 16px;
        outline: 3px solid var(--test-outline);
    }

    /* Section5 */
    #payment-section5 {
        position: relative;
        height: 300px;
        text-align: center;
        margin: auto;
        outline: 3px solid var(--test-outline);
    }

    /* Card1 */
    #card1 {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey1);
        outline: 3px solid var(--test-outline);
    }

    #card1-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card1-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card1-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card1-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card1-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-green);
        border: transparent;
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card1-button:hover {
            background-color: var(--color-gold);
            color: var(--color-tan);
        }

    /* Card2 */
    #card2 {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey2);
        outline: 3px solid var(--test-outline);
    }

    #card2-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card2-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card2-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card2-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card2-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-green);
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card2-button:hover {
            background-color: var(--color-gold);
            color: var(--color-tan);
        }

    /* Card3 */
    #card3 {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey3);
        outline: 3px solid var(--test-outline);
    }

    #card3-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card3-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card3-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-red);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card3-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card3-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-green);
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card3-button:hover {
            background-color: var(--color-gold);
            color: var(--color-tan);
        }

    /* Card4 */
    #card4 {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey4);
        outline: 3px solid var(--test-outline);
    }

    #card4-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card4-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card4-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card4-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card4-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-gold);
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card4-button:hover {
            background-color: var(--color-darkGold);
            color: var(--color-tan);
        }

    /* Card5 */
    #card5 {
        display: inline-block;
        position: relative;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey5);
        outline: 3px solid var(--test-outline);
    }

    #card5-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-grey1);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card5-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: #1a1a1a;
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card5-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: #1a1a1a;
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card5-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card5-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-tan);
        color: var(--color-green);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card5-button:hover {
            background-color: var(--color-gold);
            color: var(--color-tan);
        }

    /* Card6 */
    #card6 {
        display: inline-block;
        position: relative;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey6);
        outline: 3px solid var(--test-outline);
    }

    #card6-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-grey1);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card6-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: #1a1a1a;
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card6-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: #1a1a1a;
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card6-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card6-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-tan);
        color: var(--color-green);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card6-button:hover {
            background-color: var(--color-gold);
            color: var(--color-tan);
        }

    /* Card7 */
    #card7 {
        display: inline-block;
        position: relative;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey7);
        outline: 3px solid var(--test-outline);
    }

    #card7-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-grey1);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card7-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: #1a1a1a;
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card7-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: #1a1a1a;
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card7-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card7-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-tan);
        color: var(--color-green);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card7-button:hover {
            background-color: var(--color-gold);
            color: var(--color-tan);
        }

    /* Card8 */
    #card8 {
        display: inline-block;
        position: relative;
        height: 250px;
        width: 200px;
        margin: 10px;
        background-color: var(--color-grey8);
        outline: 3px solid var(--test-outline);
    }

    #card8-heading {
        position: relative;
        height: 50px;
        top: 15px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-tan);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        outline: 3px solid var(--test-outline);
    }

    #card8-price {
        position: relative;
        height: 50px;
        margin: auto;
        width: 40%;
        outline: 3px solid var(--test-outline);
        color: var(--color-tan);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #card8-content {
        position: relative;
        height: 50px;
        margin: auto;
        width: 60%;
        outline: 3px solid var(--test-outline);
        color: var(--color-tan);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #card8-button-container {
        position: relative;
        top: 40px;
        outline: 3px solid var(--test-outline);
    }

    #card8-button {
        padding: 10px 43px;
        border: transparent;
        text-decoration: none;
        background-color: var(--color-gold);
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-lg);
    }

        #card8-button:hover {
            background-color: var(--color-darkGold);
            color: var(--color-tan);
        }

    /* Dynamic Stuff*/

    @media screen and (max-width: 920px) {
        #payment-wrap {
            position: relative;
            text-align: center;
            top: +64px;
            height: 1400px;
            outline: 3px solid var(--test-outline);
            background-color: var(--color-tan);
        }

        #payment-section2 {
            position: relative;
            height: 500px;
            text-align: center;
            margin: auto;
            outline: 3px solid var(--test-outline);
        }

        #payment-section5 {
            position: relative;
            height: 500px;
            text-align: center;
            margin: auto;
            outline: 3px solid var(--test-outline);
        }
    }

    @media screen and (max-width: 920px) {
        #payment-section3 {
            display: inline-block;
            width: 75%;
            position: relative;
            top: 20px;
            height: 50px;
            outline: 3px solid var(--test-outline);
            background-color: var(--color-tan);
            margin: 15px auto;
            color: var(--color-purple);
            text-align: center;
            font-family: 'Times New Roman', serif;
            font-size: 28px;
            outline: 3px solid var(--test-outline);
        }

        #payment-section4 {
            position: relative;
            height: 50px;
            top: 0px;
            margin: auto;
            width: 75%;
            outline: 3px solid var(--test-outline);
            background-color: var(--color-tan);
            color: var(--color-purple);
            text-align: center;
            font-family: 'Times New Roman', serif;
            font-size: 16px;
            outline: 3px solid var(--test-outline);
        }
    }

    @media screen and (max-width: 460px) {
        #payment-wrap {
            position: relative;
            text-align: center;
            top: +64px;
            height: 2600px;
            outline: 3px solid var(--test-outline);
            background-color: var(--color-tan);
        }

        #payment-section2 {
            position: relative;
            height: 1100px;
            text-align: center;
            margin: auto;
            outline: 3px solid var(--test-outline);
        }

        #payment-section5 {
            position: relative;
            height: 1100px;
            text-align: center;
            margin: auto;
            outline: 3px solid var(--test-outline);
        }
    }

    /*Home*/

    #indexContent {
        position: relative;
        height: auto;
        width: 100%;
        outline: 3px solid var(--test-outline);
    }

    /* Section1 */
    #section1 {
        position: relative;
        background-color: var(--color-tan);
    }

    #main-logo-img {
        display: block;
        max-width: 500px;
        min-width: 300px;
        height: auto;
        margin: 0px auto 0px auto;
        width: 50%;
        outline: 3px solid var(--test-outline);
    }

    #slogan-heading-container {
        position: relative;
        outline: 3px solid var(--test-outline);
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 20px;
    }

    #slogan-heading {
        max-width: 100%;
        margin: auto;
        color: var(--color-green);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 45px;
        outline: 3px solid var(--test-outline);
    }

    #hooking-heading-container {
        position: relative;
        outline: 3px solid var(--test-outline);
        margin-top: 20px;
    }

    #hooking-heading {
        width: 50%;
        margin: auto;
        color: var(--color-red);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 30px;
        outline: 3px solid var(--test-outline);
    }

    #before-button-title-container {
        position: relative;
        outline: 3px solid var(--test-outline);
        margin-top: 20px;
    }

    #before-button-title {
        width: 40%;
        margin: 10px auto;
        color: var(--color-green);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #section1-buttons-container {
        position: relative;
        text-align: center;
        outline: 3px solid var(--test-outline);
    }

    .section1-button-discord,
    .section1-button-getStarted {
        background-color: var(--color-red);
        border: none;
        color: var(--color-tan);
        padding: 10px 43px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        cursor: pointer;
        border-radius: var(--radius-lg);
        margin-bottom: 20px;
    }

        .section1-button-discord:hover,
        .section1-button-getStarted:hover {
            background-color: var(--color-darkerRed);
            transition-duration: 0.5s;
        }

    .section1-button-register {
        background-color: var(--color-gold);
        border: none;
        color: var(--color-tan);
        padding: 10px 60px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 24px;
        cursor: pointer;
        border-radius: 40px;
        margin-bottom: 5px;
    }

        .section1-button-register:hover {
            background-color: var(--color-darkGold);
            transition-duration: 0.5s;
        }

    @media screen and (max-width: 700px) {

        #before-button-title {
            width: 80%;
            
        }

        .section1-button-register {
            padding: 7px 40px;
        }

        #slogan-heading {
            font-size: 30px;
        }

        #hooking-heading {
            font-size: 20px;
        }
    }

    /* Section2 */
    #section2 {
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        align-items: flex-start;
        text-align: center;
        min-height: 500px;
        height: auto;
        background-color: var(--color-lightGrey);
        outline: 3px solid var(--test-outline);
    }

    #section2-content1, #section2-content2 {
        box-sizing: border-box;
        flex-basis: 40%;
        margin: auto;
        text-align: center;
        outline: 3px solid var(--test-outline);
        padding: 10px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    #section2-title1 {
        color: var(--color-green);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 20px;
        outline: 3px solid var(--test-outline);
    }

    #section2-title1-container {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #section2-title2 {
        color: var(--color-green);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 40px;
        outline: 3px solid var(--test-outline);
    }

    #section2-title2-container {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #section2-title3 {
        color: var(--color-green);
        text-align: Left;
        font-family: 'Times New Roman', serif;
        font-size: 16px;
        outline: 3px solid var(--test-outline);
    }

    #section2-title3-container {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #section2-title4 {
        color: var(--color-green);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 30px;
        outline: 3px solid var(--test-outline);
    }

    #section2-title4-container {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #section2-title5 {
        color: var(--color-green);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 18px;
        outline: 3px solid var(--test-outline);
    }

    #section2-title5-container {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #section2-title6-container {
        text-align: center;
        position: relative;
        column-count: 2;
        height: 100%;
        outline: 3px solid var(--test-outline);
    }

    #section2-title6-list {
        color: var(--color-green);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 14px;
        outline: 3px solid var(--test-outline);
    }

    @media screen and (max-width: 700px) {
        
        #section2 {
            flex-direction: column;
            align-items: center;
        }

        #section2-content1, #section2-content2 {
            flex-basis: 80%;
            margin-top: 50px;
        }

        #section2-title1 {
            font-size: 16px;
        }

        #section2-title2 {
            font-size: 24px;
        }

        #section2-title3 {
            font-size: 16px;
        }

        #section2-title4 {
            font-size: 24px;
        }

        #section2-title5 {
            font-size: 16px;
        }

        #section2-title6-list {
            font-size: 16px;
        }
    }

    /* Section3 */
    #section3 {
        display: flex;
        justify-content: space-around;
        align-items: center;
        text-align: center;
        height: auto;
        padding: 50px 0px;
        background-color: var(--color-darkGrey);
        outline: 3px solid var(--test-outline);
    }

    #section3-content1, #section3-content2 {
        flex: 1;
        outline: 3px solid var(--test-outline);
        padding: 50px;
    }

    #section3-title1 {
        color: var(--color-purple);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 16px;
        outline: 3px solid var(--test-outline);
    }

    #section3-title2 {
        color: var(--color-purple);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 36px;
        outline: 3px solid var(--test-outline);
    }

    #section3-title3 {
        color: var(--color-purple);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 14px;
        outline: 3px solid var(--test-outline);
    }

    #section3-image {
        max-width: 100%;
        height: 100%;
        background-image: url('path-to-your-image');
        background-size: cover;
        background-position: center;
    }

    @media screen and (max-width: 700px) {
        #section3 {
            flex-direction: column; /* stack the children vertically on small screens */
            padding: 20px 0px;
        }

        #section3-content1, #section3-content2 {
            width: 100%;
        }

        #section3-title1 {
            color: var(--color-purple);
            text-align: left;
            font-family: 'Times New Roman', serif;
            font-size: 16px;
            outline: 3px solid var(--test-outline);
        }

        #section3-title2 {
            color: var(--color-purple);
            text-align: left;
            font-family: 'Times New Roman', serif;
            font-size: 24px;
            outline: 3px solid var(--test-outline);
        }

        #section3-title3 {
            color: var(--color-purple);
            text-align: left;
            font-family: 'Times New Roman', serif;
            font-size: 16px;
            outline: 3px solid var(--test-outline);
        }

        #section3-image {
            width: 80vw;
            height: 60vh;
            object-fit: cover;
            object-position: center;
        }
    }

    /* Section4 */
    #section4 {
        display: flex;
        justify-content: space-around;
        align-items: center;
        text-align: center;
        height: auto;
        padding: 75px 0;
        background-color: var(--color-red);
        outline: 3px solid var(--test-outline);
    }

    #section4-content1, #section4-content2 {
        flex: 1;
        outline: 3px solid var(--test-outline);
        padding: 20px;
    }

    #section4-image {
        width: 100%;
        height: 100%;
        max-height: 500px;
        max-width: 300px;
        background-image: url('path-to-your-image');
        background-size: cover;
        background-position: center;
    }

    #section4-title1 {
        color: var(--color-tan);
        font-family: 'Times New Roman', serif;
        font-size: 16px;
        outline: 3px solid var(--test-outline);
    }

    #section4-title2 {
        color: var(--color-tan);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 32px;
        outline: 3px solid var(--test-outline);
    }

    #section4-title3 {
        color: var(--color-tan);
        text-align: left;
        font-family: 'Times New Roman', serif;
        font-size: 16px;
        outline: 3px solid var(--test-outline);
    }

    #section4-title4 {
        color: var(--color-tan);
        text-align: left;
        height: 100px;
        font-family: 'Times New Roman', serif;
        font-size: 14px;
        outline: 3px solid var(--test-outline);
    }
    /* Responsive styles */
    @media screen and (max-width: 700px) {
        #section1, #section2, #section3, #section4 {
            flex-direction: column;
            align-items: center;
        }

        #section2-content1, #section2-content2,
        #section3-content1, #section3-content2,
        #section4-content1, #section4-content2 {
            width: 80%;
            margin-top: 50px;
        }
    }

    /* Section5 */
    #section5 {
        position: relative;
        height: auto;
        text-align: center;
        background-color: var(--color-lightGrey);
        padding: 10px;
        outline: 3px solid var(--test-outline);
    }

    #section5-title1,
    #section5-title2,
    #section5-title3,
    #section5-title4,
    #section5-title5 {
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        width: 40%;
        margin: 0 auto;
        padding: 0;
        outline: 3px solid var(--test-outline);
    }

    #section5-title1-container,
    #section5-title2-container,
    #section5-title3-container,
    #section5-title4-container,
    #section5-title5-container {
        position: relative;
        text-align: center;
        outline: 3px solid var(--test-outline);
    }

    #section5-title1 {
        font-size: 18px;
    }

    #section5-title2 {
        font-size: 36px;
    }

    #section5-title3,
    #section5-title4 {
        font-size: 16px;
    }

    #section5-title5 {
        font-size: 18px;
    }

    #section5-title6 {
        position: relative;
        color: var(--color-purple);
        text-align: center;
        font-family: 'Times New Roman', serif;
        font-size: 24px;
        margin: 0;
        padding: 0;
        outline: 3px solid var(--test-outline);
    }

    #discord-button-container {
        position: relative;
        outline: 3px solid var(--test-outline);
    }

    #discord-button {
        padding: 10px 43px;
        text-decoration: none;
        background-color: var(--color-gold);
        color: var(--color-tan);
        text-align: center;
        display: inline-block;
        font-size: 16px;
        transition-duration: 0.4s;
        cursor: pointer;
        outline: 3px solid var(--test-outline);
        border-radius: var(--radius-pill);
    }

        #discord-button:hover {
            background-color: var(--color-darkGold);
            color: var(--color-tan);
        }

    @media screen and (max-width: 900px) {
        #section5 {
            height: auto;
        }

        #section5-title3,
        #section5-title4 {
            width: 80%; /* Updated */
            margin: 0 auto;
        }
    }

    @media screen and (max-width: 700px) {
        #section5 {
            height: auto;
        }
    }

    @media screen and (max-width: 600px) {
        #section5 {
            height: auto;
        }

        #section5-title1,
        #section5-title2,
        #section5-title3,
        #section5-title4,
        #section5-title5 {
            width: 90%; /* Updated */
            margin: 0 auto;
        }
    }

    /*Calendars*/
    .calendarCont {
        justify-content: space-between;
        margin: 0px 0px 0px 125px;
        width: calc(100% - 125px);
        min-height: 100vh;
        background-color: #eceff1;
    }

        .calendarCont table {
            width: 100%;
            table-layout: fixed;
            border-spacing: 10px;
            min-height: 100px;
            height: auto;
        }

        .calendarCont th {
            padding: 10px 6px;
            margin: 10px;
            color: #ffffff;
            min-height: 50px;
            text-align: center;
            vertical-align: top;
            border-radius: 10px;
            background-color: #0f172a;
            font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
            font-weight: 700;
            letter-spacing: 0.02em;
            border-bottom: 2px solid #2563eb;
        }

            .calendarCont th:hover {
            }

        .calendarCont td {
            padding: 8px;
            margin: 10px;
            text-align: center;
            min-height: 80px;
            vertical-align: top;
            border-radius: 10px;
            background-color: #ffffff;
            border: 1px solid #cbd5e1;
            color: #0f172a;
            transition: background-color 0.15s ease, border-color 0.15s ease;
        }

            .calendarCont td:hover {
                background-color: #f1f5f9;
                border-color: #93c5fd;
                transition-duration: 0.15s;
            }

        .calendarCont tr {
            margin-bottom: 10px;
            min-height: 50px;
        }

    #calendar-navigation {
        display: flex;
        position: relative;
        justify-content: center;
    }

    #CalendarWeeklyHeading {
        padding: 10px 20px 0;
        text-align: center;
    }

        #CalendarWeeklyHeading h2 {
            margin-bottom: 0;
            font-size: 30px;
        }

    #timeSlot {
        height: auto;
        border-radius: var(--radius-sm);
        font-size: 12px;
        color: var(--color-green);
        margin: 0 0 8px 0;
        padding: 2px 0 0;
        background-color: transparent;
    }

    #timeSlotApt {
        border-radius: var(--radius-sm);
        padding: 0;
        max-width: 100%;
        width: 100%;
        margin: 6px 0 0;
        background-color: transparent;
    }

        #timeSlotApt:hover {
            background-color: transparent;
        }

    .clearfix::after {
        content: "";
        display: table;
        clear: both;
    }

    #aptTag {
        color: black;
        text-decoration: none;
        font-size: 14px;
        cursor: pointer;
    }

    .apt-instrument {
        display: block;
        font-size: 11px;
        color: #2f2f2f;
    }

        #aptTag:hover {
        }

    #adminAptTag {
        color: black;
        text-decoration: none;
        font-size: 14px;
        cursor: pointer;
    }

    #previousWeek {
        position: absolute;
        left: 0px;
    }

    #nextWeek {
        position: absolute;
        right: 0px;
    }

    input[type="submit"] {
        background-color: var(--color-gold);
        border: none;
        color: var(--color-tan);
        padding: 10px 43px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

        input[type="submit"]:hover {
            background-color: var(--color-darkGold);
            transition-duration: 0.5s;
        }

    #CalendarChange {
        display: flex;
        position: static;
        padding: 5px;
        min-height: 45px;
        height: auto;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    #dailyCalendar {
        background-color: var(--color-green);
        position: static;
        border: none;
        color: var(--color-tan);
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 12px;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

    #monthlyCalendar {
        background-color: var(--color-green);
        border: none;
        position: static;
        color: var(--color-tan);
        padding: 10px 12px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 12px;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

    #bestLessonCalendar {
        background-color: var(--color-gold);
        border: none;
        position: static;
        transform: none;
        color: var(--color-tan);
        padding: 10px 14px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 12px;
        cursor: pointer;
        border-radius: var(--radius-lg);
    }

    #bestLessonCalendar:hover {
        background-color: var(--color-darkGold);
        transition-duration: 0.25s;
    }

    .admin-lesson-status-badge {
        display: inline-block;
        margin-left: 6px;
        padding: 2px 8px;
        border-radius: var(--radius-pill);
        font-size: 10px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.2px;
    }

    .admin-lesson-status-badge.is-booked {
        background: var(--apt-booked-bg);
        color: var(--apt-booked-text);
        border: 1px solid var(--apt-booked-border);
    }

    .admin-lesson-status-badge.is-open {
        background: var(--apt-open-bg);
        color: var(--apt-open-text);
        border: 1px solid var(--apt-open-border);
    }

.appointment-status-card {
    border: 1px solid rgba(35, 45, 31, 0.25);
    border-radius: var(--radius-sm);
    padding: 8px;
    transition: transform 0.2s ease;
}

.appointment-status-card.status-open {
    background: var(--apt-open-bg) !important;
    border-color: var(--apt-open-border);
    color: var(--apt-open-text) !important;
}

.appointment-status-card.status-open #dailyAptSubmit,
.appointment-status-card.status-open .time-slot-button {
    background-color: var(--apt-open-accent);
    color: var(--color-tan);
}

.appointment-status-card.status-open #dailyAptSubmit:hover,
.appointment-status-card.status-open .time-slot-button:hover {
    background-color: var(--apt-open-accent-hover);
}

.appointment-status-card.status-booked {
    background: var(--apt-booked-bg) !important;
    border-color: var(--apt-booked-border);
    color: var(--apt-booked-text) !important;
}

.appointment-status-card.status-booked #dailyAptSubmit,
.appointment-status-card.status-booked .time-slot-button {
    background-color: var(--apt-booked-accent);
    color: var(--color-tan);
    pointer-events: none;
    opacity: 0.8;
}

.appointment-status-link {
    display: inline-block;
    padding: 5px 10px;
    border-radius: var(--radius-pill);
    font-weight: 700;
    font-size: 13px;
}

.appointment-status-link.status-open {
    background: var(--apt-open-accent);
    color: var(--color-tan) !important;
    border: 1px solid var(--apt-open-border);
    font-weight: 600;
}

.appointment-status-link.status-booked {
    background: var(--apt-booked-accent);
    color: var(--color-tan) !important;
    border: 1px solid var(--apt-booked-accent-border);
    font-weight: 600;
}

.calendar-status-legend {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 4px;
}

.legend-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 10px;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
    border: 1px solid transparent;
}

.legend-pill.legend-open {
    background: var(--apt-open-bg);
    border-color: var(--apt-open-border);
    color: var(--apt-open-text);
    font-weight: 600;
}

.legend-pill.legend-booked {
    background: var(--apt-booked-bg);
    border-color: var(--apt-booked-border);
    color: var(--apt-booked-text);
    font-weight: 600;
}

    #deleteAptButton {
        color: var(--color-tan);
        background-color: var(--color-green);
        font-size: 10px;
        min-width: 40px;
        cursor: pointer;
        border: 0;
        border-radius: var(--radius-sm);
        padding: 3px;
        outline: 0;
    }

        #deleteAptButton:hover {
            background-color: var(--color-red);
            transition-duration: 0.25s;
        }

    #editAptButton {
        color: var(--color-tan);
        background-color: var(--color-green);
        font-size: 10px;
        min-width: 40px;
        cursor: pointer;
        border: 0;
        border-radius: var(--radius-sm);
        padding: 3px;
        outline: 0;
    }

        #editAptButton:hover {
            background-color: var(--color-red);
            transition-duration: 0.25s;
        }

    .editAndDelete {
        display: flex;
        flex-direction: column;
        margin-bottom: 5px;
    }

    #monthlyAptTag {
        color: var(--color-tan);
        background-color: var(--color-green);
        font-size: 12px;
        min-width: 40px;
        text-decoration: none;
        cursor: pointer;
        border: 0;
        border-radius: var(--radius-sm);
        padding: 3px 10px 3px 10px;
        outline: 0;
    }

        #monthlyAptTag:hover {
            background-color: var(--color-gold);
            transition-duration: 0.25s;
        }


    #calendar2cont {
        justify-content: space-between;
        width: 100vw;
        height: 100vh;
        min-height: 100vh;
        background-color: var(--color-tan);
    }

    #previousDay {
        position: absolute;
        left: 0px;
    }

    #nextDay {
        position: absolute;
        right: 0px;
    }

    #dailyAptCont {
        border-radius: var(--radius-lg);
        width: fit-content;
        margin: 20px auto;
        padding: 20px 20px 5px 20px;
        background-color: var(--color-green);
    }

    #dailyAptTag {
        color: var(--color-tan);
        border-radius: var(--radius-lg);
        max-width: 75vw;
        min-width: 50vw;
        font-size: 20px;
        text-align: center;
        padding: 10px;
        margin: 0 0 20px 0;
        height: auto;
        background-color: dimgrey;
    }

    .event-details-box {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .event-detail-row {
        line-height: 1.35;
    }

        #dailyAptTag:hover {
            background-color: #334155;
            transition-duration: 0.5s;
        }

    #dailyAptSubmit {
        color: var(--color-tan);
        background-color: var(--color-gold);
        font-size: 20px;
        cursor: pointer;
        text-decoration: none;
        border: 0;
        border-radius: var(--radius-sm);
        padding: 5px 10px;
        outline: 0;
    }

        #dailyAptSubmit:hover {
            background-color: var(--color-darkGold);
            transition-duration: 0.5s;
        }

    #confirmApt {
        font-size: 20px;
        margin: 20px 0px 20px 0px;
    }

    #aptConfirmHeading {
        font-size: 26px;
        text-align: center;
        padding: 10px 20px 0;
    }

    @media screen and (max-width: 700px) {
        .calendarCont {
            justify-content: space-between;
            margin: 50px 0px;
            min-height: 100vh;
            width: 100vw;
            background-color: var(--color-tan);
        }

        .editAndDelete {
            display: flex;
            flex-direction: column;
            margin-bottom: 5px;
        }
        #deleteAptButton {
            color: var(--color-tan);
            background-color: var(--color-green);
            font-size: 10px;
            min-width: 15px;
            font-size: 6.5px;
            cursor: pointer;
            border: 0;
            border-radius: var(--radius-sm);
            padding: 3px;
            outline: 0;
        }

            #deleteAptButton:hover {
                background-color: var(--color-red);
                transition-duration: 0.25s;
            }

        #editAptButton {
            color: var(--color-tan);
            background-color: var(--color-green);
            font-size: 10px;
            min-width: 15px;
            cursor: pointer;
            border: 0;
            border-radius: var(--radius-sm);
            padding: 3px;
            outline: 0;
        }

            #editAptButton:hover {
                background-color: var(--color-red);
                transition-duration: 0.25s;
            }

        #timeSlot {
            height: auto;
            border-radius: 2px;
            font-size: 4px;
            color: var(--color-green);
            padding: 2px 0;
            margin: 0 0 5px 0;
            background-color: transparent;
        }

        #CalendarWeeklyHeading {
            padding: 8px 16px 0;
            text-align: center;
        }

            #CalendarWeeklyHeading h2 {
                margin-bottom: 0;
                font-size: 18px;
                padding: 2px 0;
            }

        #aptTag {
            color: black;
            text-decoration: none;
            font-size: 6px;
            cursor: pointer;
        }
        #adminAptTag {
            color: black;
            text-decoration: none;
            font-size: 6px;
            cursor: pointer;
        }
        input[type="submit"] {
            background-color: var(--color-gold);
            border: none;
            color: var(--color-tan);
            padding: 10px 15px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 12px;
            cursor: pointer;
            border-radius: var(--radius-lg);
        }

        .calendarCont th {
            padding: 5px;
            margin: 10px;
            color: black;
            font-size: 8px;
            min-height: 50px;
            text-align: center;
            vertical-align: top;
            border-radius: var(--radius-sm);
            background-color: #A5A6A6;
        }

        #timeSlotApt {
            border-radius: var(--radius-sm);
            padding: 0;
            max-width: 100%;
            width: 100%;
            margin: 4px 0 0;
            background-color: transparent;
        }
    }

/* Mobile comfort overrides */
#createAptCont,
#editAptCont {
    width: min(700px, 92vw);
    min-width: 0;
}

#usersTableContainer {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#usersTable {
    min-width: 680px;
}

#payment-wrap,
#payment-section2,
#payment-section5 {
    height: auto;
}

#payment-wrap {
    min-height: calc(100vh - 64px);
    padding-bottom: 18px;
}

#payment-section2,
#payment-section5 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

@media screen and (max-width: 765px) {
    #loginContainer,
    #registerContainer {
        height: auto;
        min-height: 100vh;
        padding: 70px 0 24px;
    }

    #cont,
    #cont1 {
        left: 50%;
        top: 0;
        transform: translate(-50%, 0);
        height: auto;
        min-height: 0;
        padding: 20px 0;
        overflow: visible;
    }

    #welcomeContainer,
    #regForm {
        left: 0;
        top: 0;
        width: min(360px, 92vw);
        margin: 0 auto;
    }

    #cont2,
    #cont3 {
        position: relative;
        left: 0;
        top: 0;
        width: min(360px, 92vw);
        height: auto;
        margin: 18px auto 0;
        padding: 16px;
        border-radius: 16px;
    }

    #info2,
    #info3 {
        position: static;
        left: 0;
        top: 0;
        width: 100%;
        height: auto;
        padding-top: 0;
        overflow: visible;
    }

    #text,
    #text3 {
        position: static;
        left: 0;
        top: 0;
        width: 100%;
        padding: 0;
        margin-bottom: 12px;
        text-align: center;
    }

    #info2Btn,
    #info3Btn {
        width: 100%;
        height: auto;
        overflow: visible;
        text-align: center;
        margin-top: 8px;
    }

    #errorMsg {
        position: static;
        left: 0;
        top: 0;
        width: 100%;
        padding: 0;
        margin-top: 8px;
    }
}

@media screen and (max-width: 700px) {
    .calendarCont,
    .manageUsersCont,
    #profilePageContainer,
    #infoPageContainer,
    #payment-wrap {
        width: 100%;
        margin-left: 0;
        box-sizing: border-box;
    }

    #payment-section1,
    #payment-section3,
    #payment-section4 {
        width: 92%;
        height: auto;
    }

    #payment-section1 {
        font-size: 32px;
        line-height: 1.2;
        margin: 16px auto;
    }

    #payment-section3 {
        font-size: 24px;
        margin-top: 18px;
    }

    #payment-section4 {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .calendarCont {
        margin: 56px 0 0;
        padding: 0 8px 16px;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .calendarCont table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .calendarCont th,
    .calendarCont td {
        padding: 4px;
        font-size: 11px;
        vertical-align: top;
        overflow-wrap: anywhere;
        word-break: break-word;
        max-width: 0;
    }

    #calendar-navigation {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    #previousWeek,
    #nextWeek,
    #previousDay,
    #nextDay {
        position: static;
    }

    #timeSlot {
        font-size: 10px;
        border-radius: 6px;
        padding: 4px 0;
        color: var(--color-green);
        background: transparent;
    }

    #timeSlotApt {
        padding: 0;
        border-radius: var(--radius-sm);
        width: 100%;
        margin: 4px 0 0;
        background: transparent;
    }

    #aptTag,
    #adminAptTag {
        font-size: 10px;
        line-height: 1.35;
    }

    .calendarCont th {
        font-size: 10px;
    }

    #editAptButton,
    #deleteAptButton {
        min-width: 58px;
        font-size: 11px;
        padding: 5px 6px;
    }

    #dailyAptTag {
        min-width: 0;
        max-width: none;
        font-size: 16px;
        line-height: 1.35;
    }
}

/* Pricing, appointment, and profile polish */
#payment-wrap {
    top: 64px;
    height: auto !important;
    min-height: calc(100vh - 64px);
    padding: 12px 12px 100px;
    box-sizing: border-box;
}

#payment-section1,
#payment-section3,
#payment-section4 {
    height: auto !important;
}

#payment-section2,
#payment-section5 {
    height: auto !important;
    align-items: stretch;
    gap: 14px;
    margin-bottom: 14px;
}

#card1, #card2, #card3, #card4, #card5, #card6, #card7, #card8 {
    height: auto !important;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 8px 10px 14px;
    box-sizing: border-box;
}

#card1-content, #card2-content, #card3-content, #card4-content,
#card5-content, #card6-content, #card7-content, #card8-content {
    height: auto !important;
    min-height: 44px;
}

#card1-button-container, #card2-button-container, #card3-button-container, #card4-button-container,
#card5-button-container, #card6-button-container, #card7-button-container, #card8-button-container {
    margin-top: auto;
    top: 0 !important;
}

.create-appointment-page {
    padding-bottom: 22px;
}

.create-appointment-card {
}

.timezone-note {
    margin: 0 0 14px;
    font-size: 14px;
    color: #334155;
}

.profile-photo-display,
.profile-photo-preview {
    width: 136px !important;
    height: 136px !important;
    max-width: 136px !important;
    max-height: 136px !important;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--color-gold);
    background-color: #f1f5f9;
}

.profile-photo-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.profile-photo-label {
    margin-bottom: 4px;
}

.profile-photo-input {
    max-width: 360px;
}

.photo-help-text {
    color: #334155;
    font-size: 12px;
}

@media screen and (max-width: 700px) {
    #payment-wrap {
        top: 56px;
        padding: 10px 8px 90px;
    }

    #card1, #card2, #card3, #card4, #card5, #card6, #card7, #card8 {
        width: min(280px, 92vw);
        margin: 6px auto;
    }

    .profile-photo-display,
    .profile-photo-preview {
        width: 112px !important;
        height: 112px !important;
        max-width: 112px !important;
        max-height: 112px !important;
    }
}

/* Global anti-overlap/mobile safety overrides */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

#page-content,
#payment-content,
#loginContainer,
#registerContainer,
#infoPageContainer,
#contactContent,
#contact-container {
    height: auto !important;
    min-height: 100vh;
}

#cont,
#cont1 {
    width: min(900px, 95vw) !important;
    max-width: 95vw;
    height: auto !important;
}

#cont2,
#cont3,
#welcomeContainer,
#regForm {
    max-width: 100%;
}

#profilePageContainer,
.manageUsersCont,
.calendarCont,
#payment-wrap {
    overflow-x: hidden;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
    height: auto;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6, p, a, label, td, th, li {
    overflow-wrap: anywhere;
}

@media (max-width: 765px) {
    #cont2,
    #cont3,
    #info2,
    #info3,
    #text,
    #text3 {
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    #info2Btn,
    #info3Btn {
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }
}

/* Profile page redesign */
#profilePageContainer {
    padding: 88px 20px 36px;
    box-sizing: border-box;
}

#profileContainer {
    max-width: 1120px;
    margin: 20px auto 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

#leftSectionProfile,
#rightSectionProfile {
    background: var(--color-green);
    color: var(--color-tan);
    border-radius: 18px;
    padding: 22px 20px;
}

#leftSectionProfile h3,
#rightSectionProfile h3 {
    color: #F1F5F9;
    width: 100%;
    margin: 12px 0 4px;
    font-weight: 600;
}

.profileItem {
    color: #ffffff;
    background: rgba(247, 245, 225, 0.09);
    border: 1px solid rgba(247, 245, 225, 0.2);
    border-radius: var(--radius-sm);
    padding: 10px 12px;
    margin: 0 0 10px;
}

.profile-credit-expiry-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.credit-expiry-item {
    margin-bottom: 0;
}

.profile-status-success {
    max-width: 1120px;
    margin: 10px auto 0;
    padding: 10px 12px;
    border: 1px solid #2d5f2f;
    border-radius: var(--radius-sm);
    background: #dcfce7;
    color: #1f4c21;
    font-weight: 700;
}

.profile-status-warning {
    max-width: 1120px;
    margin: 10px auto 0;
    padding: 10px 12px;
    border: 1px solid #ac8f34;
    border-radius: var(--radius-sm);
    background: #fef3c7;
    color: #5b4a16;
    font-weight: 600;
}

/* Admin data center cards and chip filters */
.data-filter-panel {
    max-width: 1120px;
    margin: 0 auto 14px;
    padding: 12px;
    border-radius: 14px;
    background: rgba(71, 77, 61, 0.08);
    border: 1px solid rgba(71, 77, 61, 0.2);
}

.data-filter-row {
    margin-bottom: 10px;
}

.data-filter-row:last-child {
    margin-bottom: 0;
}

.data-filter-label {
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #4b5443;
    font-weight: 700;
    margin-bottom: 6px;
}

.analytics-section-heading {
    max-width: 1120px;
    margin: 12px auto 8px;
    color: var(--color-green);
}

.analytics-card-grid {
    max-width: 1120px;
    margin: 0 auto 16px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.analytics-card {
    display: block;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid rgba(71, 77, 61, 0.18);
    border-radius: 14px;
    padding: 12px;
    color: #2f2f2f;
}

.analytics-card:hover {
    border-color: var(--color-green);
}

.analytics-card-title {
    font-size: 16px;
    color: var(--color-green);
    font-weight: 700;
}

.analytics-card-value {
    font-size: 30px;
    line-height: 1.15;
    color: #202020;
    margin: 6px 0;
}

.analytics-card-subtitle {
    font-size: 13px;
    color: #5d5d5d;
    line-height: 1.25;
}

.analytics-card-metric {
    margin-top: 4px;
    font-size: 13px;
    color: #3d3d3d;
}

.analytics-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.analytics-role-chip {
    background: #f1f5f9;
    border: 1px solid #c6cfb8;
    color: #2e3d2a;
    border-radius: var(--radius-pill);
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
}

.analytics-card-actions {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.analytics-action-btn {
    text-decoration: none;
    background: var(--color-green);
    color: var(--color-tan);
    border-radius: var(--radius-pill);
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
}

.analytics-action-btn:hover {
    background: var(--color-gold);
}

.calendar-nav-title-wrap {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.calendar-nav-title {
    margin: 0;
    font-size: 30px;
    color: var(--color-green);
    text-align: center;
    line-height: 1.2;
}

@media screen and (max-width: 700px) {
    .calendar-nav-title {
        font-size: 20px;
    }
}

#editProfileBtn,
#payoutSettingsBtn,
#upgradeBusinessBtn {
    width: 100%;
    max-width: 260px;
    display: inline-block;
    border: 2px solid rgba(247, 245, 225, 0.45);
    font-weight: 700;
    letter-spacing: 0.2px;
    cursor: pointer;
}

.profile-upgrade-form {
    margin: 0;
}

.profile-upgrade-btn {
    color: var(--color-tan);
    text-decoration: none;
    background-color: var(--brand-accent, #A37F41);
    border: 2px solid var(--brand-accent, #A37F41);
    text-align: center;
    font-family: 'Times New Roman', serif;
    padding: 10px;
    border-radius: var(--radius-lg);
    font-size: 18px;
    display: inline-block;
}

    .profile-upgrade-btn:hover {
        filter: brightness(1.08);
    }

    .profile-upgrade-btn.profile-upgrade-btn-secondary {
        background-color: transparent;
        color: var(--brand-accent, #A37F41);
    }

.profile-upgrade-hint {
    margin: 6px 0 0;
    font-size: 13px;
    opacity: 0.85;
    max-width: 320px;
}

#editProfileBtn:focus-visible,
#payoutSettingsBtn:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 2px;
}

@media screen and (max-width: 700px) {
    #profilePageContainer {
        padding: 66px 12px 24px;
    }

    #profileContainer {
        grid-template-columns: 1fr;
        max-width: 560px;
    }
}

#EditProfileCont {
    padding: 78px 16px 28px;
    box-sizing: border-box;
}

#EditProfileCont #createAptCont {
    width: min(860px, 96vw);
    background: var(--color-green);
    border: 1px solid rgba(247, 245, 225, 0.2);
}

.profile-instrument-actions {
    display: flex;
    gap: 8px;
    margin: 6px 0 10px;
}

.profile-instrument-btn {
    border: 1px solid rgba(247, 245, 225, 0.3);
    background: var(--color-gold);
    color: var(--color-tan);
    border-radius: 6px;
    padding: 6px 10px;
    cursor: pointer;
}

#EditProfileCont input.formTag,
#EditProfileCont select.formTag,
#EditProfileCont textarea.profileDescription {
    width: 100%;
    border: 1px solid #cfc8a6;
    border-radius: var(--radius-sm);
    padding: 9px 10px;
    background: #ffffff;
    color: #222222;
}

.appointment-profile-picture {
    width: 120px !important;
    height: 120px !important;
    max-width: 120px !important;
    max-height: 120px !important;
    border-radius: 50%;
    object-fit: cover;
}

#EditProfileCont select.formTag option {
    color: #222222;
    background: #ffffff;
}

#EditProfileCont #errorMsg {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    padding: 0;
    margin-top: 10px;
    text-align: left;
    color: #fee2e2;
}

@media screen and (max-width: 700px) {
    #EditProfileCont {
        padding: 60px 10px 20px;
    }
}

/* Create appointment visual builder */
.event-builder-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.05fr) minmax(280px, 1fr);
    gap: 18px;
    align-items: start;
}

.event-builder-left,
.event-builder-right {
    background: rgba(247, 245, 225, 0.08);
    border: 1px solid rgba(247, 245, 225, 0.18);
    border-radius: 14px;
    padding: 14px;
}

.event-detail-box {
    background: rgba(247, 245, 225, 0.07);
    border: 1px solid rgba(247, 245, 225, 0.2);
    border-radius: var(--radius-md);
    padding: 12px;
    margin-bottom: 12px;
}

.event-form-panel {
    background: rgba(247, 245, 225, 0.08);
    border: 1px solid rgba(247, 245, 225, 0.22);
    border-radius: var(--radius-md);
    padding: 14px;
}

.event-builder-right .formTag {
    margin: 10px 0 6px;
    text-align: left;
}

.create-error-banner {
    margin: 10px 0 14px;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    border: 2px solid #b3261e;
    background: #fee2e2;
    color: #5f1410;
    font-size: 14px;
}

.create-error-banner strong {
    display: block;
    margin-bottom: 6px;
    font-size: 15px;
}

.create-error-banner ul {
    margin: 0;
    padding-left: 18px;
}

.create-error-banner li {
    margin: 2px 0;
}

.admin-diagnostic-error {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(95, 20, 16, 0.35);
    font-size: 13px;
}

.event-picker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

#event-month-title {
    margin: 0;
    color: var(--color-tan);
    font-size: 20px;
}

.event-nav-btn {
    background: var(--color-gold);
    color: var(--color-tan);
    border: none;
    border-radius: var(--radius-sm);
    width: 36px;
    height: 36px;
    cursor: pointer;
}

.event-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 12px;
}

.event-day-header {
    text-align: center;
    color: #0f172a;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 0;
}

.event-day-cell {
    border: 1px solid #e5e7eb;
    background: #f8fafc;
    color: #0f172a;
    border-radius: var(--radius-sm);
    min-height: 36px;
    cursor: pointer;
}

.event-day-cell.is-empty {
    background: transparent;
    border-color: transparent;
    cursor: default;
}

.event-day-cell.is-today {
    border-color: var(--color-gold);
}

.event-day-cell.is-selected {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
    font-weight: bold;
}

.event-time-block h4 {
    margin: 0 0 8px;
    color: #0f172a;
}

.event-time-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    max-height: 220px;
    overflow-y: auto;
}

.event-time-chip {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #0f172a;
    border-radius: var(--radius-sm);
    padding: 6px 4px;
    cursor: pointer;
}

.event-time-chip.is-selected {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

.event-selection-summary {
    margin-top: 12px;
    border-radius: var(--radius-sm);
    background: rgba(247, 245, 225, 0.08);
    border: 1px solid rgba(247, 245, 225, 0.2);
    padding: 10px 12px;
    color: var(--color-tan);
}

.event-selection-summary p {
    margin: 6px 0 0;
}

.event-description {
    min-height: 150px;
    resize: vertical;
}

.event-tag-select {
    min-height: 86px;
}

.instrument-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.instrument-group-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 6px;
}

.instrument-group-panel {
    border: 1px solid #cbd5e1;
    border-radius: var(--radius-sm);
    background: #ffffff;
    overflow: hidden;
}

.instrument-group-panel summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 600;
    color: #0f172a;
    list-style: none;
    background: #f1f5f9;
}

.instrument-group-panel[open] summary {
    border-bottom: 1px solid #e2e8f0;
}

.instrument-group-panel .instrument-chip-list {
    padding: 10px;
    margin-top: 0;
}

.instrument-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: var(--radius-pill);
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    cursor: pointer;
    user-select: none;
}

.instrument-chip input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #2563eb;
}

.instrument-chip:has(input:checked) {
    background: #dbeafe;
    border-color: #2563eb;
    color: #1e3a8a;
}

.event-input {
    width: 100%;
    border-radius: var(--radius-sm);
    border: 1px solid #cbd5e1;
    padding: 10px 12px;
    background: #ffffff;
    color: #0f172a;
}

.event-input:focus {
    outline: 2px solid #2563eb;
    outline-offset: 1px;
}

.event-small-input {
    width: 96px;
    min-width: 96px;
    text-align: center;
}

.event-recurring-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 8px 0;
}

.repeat-inline-google {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.repeat-simple-row {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: var(--radius-sm);
    padding: 10px 12px;
}

.repeat-main-label {
    color: var(--color-green);
    font-size: 16px;
    font-weight: 700;
}

#repeat-enabled {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 2px solid var(--color-green);
    background: #ffffff;
    display: inline-grid;
    place-content: center;
    cursor: pointer;
    margin: 0;
}

#repeat-enabled::after {
    content: "";
    width: 7px;
    height: 13px;
    border: solid #ffffff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg) scale(0);
    transition: transform 120ms ease-in-out;
}

#repeat-enabled:checked {
    background: var(--color-green);
}

#repeat-enabled:checked::after {
    transform: rotate(45deg) scale(1);
}

#repeat-enabled:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 2px;
}

.repeat-fields {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #d6d0b7;
    border-radius: var(--radius-sm);
    padding: 10px;
}

.repeat-fields.is-hidden {
    display: none;
}

.repeat-label,
.repeat-tail {
    color: #333333;
    font-size: 13px;
    font-weight: 600;
}

.repeat-summary-text {
    margin: 8px 0 0;
    color: #333333;
    font-size: 14px;
}

/* Keep repeat summary readable regardless of previous rules */
#repeat-summary-text {
    color: #333333 !important;
    margin: 8px 0 0 !important;
}

/* Removed legacy circular checkbox visual settings */
#repeat-enabled::before {
    content: none;
}

.event-inline-field-label {
    color: #1e3a8a;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.repeat-every-number,
.repeat-occurrences-number {
    width: 88px !important;
    text-align: center;
}

.repeat-type-select {
    min-width: 160px;
    flex: 1 1 180px;
}

.repeat-inline-label {
    color: var(--color-tan);
    font-size: 14px;
}

#repeat-summary-row {
    justify-content: flex-start;
}

#repeat-summary-text {
    color: #333333;
    margin: 8px 0 0;
}

.event-builder-right select.formTag,
.event-builder-right input.formTag,
.event-builder-right textarea.formTag {
    color: var(--color-tan);
    background-color: rgba(71, 77, 61, 0.95);
    border: 1px solid rgba(247, 245, 225, 0.35);
}

.event-builder-right select.formTag option {
    color: #ffffff;
    background-color: var(--color-green);
}

.recurring-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.visually-hidden-input {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media screen and (max-width: 980px) {
    .event-builder-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 520px) {
    .event-time-slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .repeat-inline-google {
        gap: 6px;
    }

    .repeat-type-select {
        min-width: 0;
        width: 100%;
    }

    .repeat-fields {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .event-small-input,
    .repeat-type-select {
        width: 100% !important;
    }

    .repeat-label,
    .repeat-tail,
    .repeat-main-label {
        color: #2f2f2f;
    }

    .instrument-group-panel summary {
        padding: 9px 10px;
        font-size: 14px;
    }

    .instrument-chip {
        padding: 7px 10px;
        font-size: 13px;
    }

    .recurring-inline {
        grid-template-columns: 1fr;
    }
}

/* Pricing text overlap protection */
#card1-heading, #card2-heading, #card3-heading, #card4-heading, #card5-heading, #card6-heading, #card7-heading, #card8-heading,
#card1-price, #card2-price, #card3-price, #card4-price, #card5-price, #card6-price, #card7-price, #card8-price,
#card1-content, #card2-content, #card3-content, #card4-content, #card5-content, #card6-content, #card7-content, #card8-content {
    position: static !important;
    top: auto !important;
    height: auto !important;
    width: auto !important;
    min-height: 0;
    margin: 0 0 8px;
    padding: 0 6px;
    line-height: 1.35;
    text-align: center;
}

#card1-heading p, #card2-heading p, #card3-heading p, #card4-heading p, #card5-heading p, #card6-heading p, #card7-heading p, #card8-heading p,
#card1-price p, #card2-price p, #card3-price p, #card4-price p, #card5-price p, #card6-price p, #card7-price p, #card8-price p,
#card1-content p, #card2-content p, #card3-content p, #card4-content p, #card5-content p, #card6-content p, #card7-content p, #card8-content p {
    margin: 0;
}

#card1-content, #card2-content, #card3-content, #card4-content,
#card5-content, #card6-content, #card7-content, #card8-content {
    flex: 1 1 auto;
    display: block;
}

/* Professional calendar filter strip and auto-scroll compatibility */
.tag-dropdown-inline .tag-dropdown-header {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 12px;
    color: #545c4d;
    margin-bottom: 8px;
}

.tag-dropdown-inline .tag-dropdown-content {
    padding: 2px 0 6px;
}

.tag-dropdown-inline .tag-dropdown-content::-webkit-scrollbar {
    height: 6px;
}

.tag-dropdown-inline .tag-dropdown-content::-webkit-scrollbar-track {
    background: rgba(47, 47, 47, 0.08);
    border-radius: var(--radius-pill);
}

.tag-dropdown-inline .tag-dropdown-content::-webkit-scrollbar-thumb {
    background: rgba(47, 47, 47, 0.4);
    border-radius: var(--radius-pill);
}

.tag-dropdown-inline .tag-dropdown-content label {
}

/* Login page hardening/fix for layout drift */
#loginContainer #cont {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(260px, 320px);
    align-items: stretch;
    gap: 0;
    left: 50%;
    max-width: 980px;
}

#loginContainer #welcomeContainer {
    position: static;
    width: 100%;
    max-width: 460px;
    margin: 42px auto 28px;
    padding: 0 24px 10px;
}

#loginContainer #cont2 {
    position: static;
    width: 100%;
    height: 100%;
    left: auto;
    padding: 0;
    border-radius: 0 20px 20px 0;
}

#loginContainer #info2 {
    position: static;
    width: 100%;
    height: 100%;
    padding: 48px 18px 20px;
}

#loginContainer #text {
    position: static;
    width: 100%;
    padding: 0 8px;
    margin-bottom: 26px;
}

#loginContainer form label {
    width: 100%;
    margin: 16px 0 0;
    text-align: left;
}

#loginContainer form input {
    display: block;
    width: 100%;
    text-align: left;
}

@media (max-width: 900px) {
    #loginContainer #cont {
        grid-template-columns: 1fr;
        max-width: 560px;
    }

    #loginContainer #cont2 {
        border-radius: 0 0 20px 20px;
    }
}

/* Edit appointment polish */
#editAptCont.edit-appointment-card {
    width: min(760px, 95vw);
    margin: 0 auto 40px;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(247, 245, 225, 0.14);
    border: 1px solid rgba(71, 77, 61, 0.2);
}

.edit-appointment-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}

.edit-appointment-field {
    display: flex;
    flex-direction: column;
}

.edit-appointment-field .formTag {
    text-align: left;
    width: auto;
    margin: 2px 0 4px;
    color: var(--color-green);
}

.edit-appointment-actions {
    margin-top: 4px;
}

.edit-appointment-btn {
    border: none;
    border-radius: var(--radius-pill);
    padding: 9px 18px;
    background: #8f8f8f;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}

.edit-appointment-btn.primary {
    background: var(--color-gold);
    color: var(--color-tan);
}

.edit-appointment-btn.danger {
    background: #9c3f3f;
}

@media (max-width: 780px) {
    .edit-appointment-form {
        grid-template-columns: 1fr;
    }
}

/* Calendar chip filters (button-based) */
#calendar-navigation {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0 16px;
}

#calendar-navigation #previousWeek,
#calendar-navigation #nextWeek,
#calendar-navigation #previousDay,
#calendar-navigation #nextDay {
    position: static !important;
    flex: 0 0 auto;
}

.calendar-top-controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
    margin: 10px 0 14px;
    padding: 0;
}

.calendar-top-controls .teacher-search {
    margin: 0;
    width: min(1100px, 100%);
    flex: 0 1 auto;
}

.calendar-top-controls .teacher-search form {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.calendar-top-controls #calendar-navigation {
    margin: 0;
    flex: 1 1 280px;
}

.calendar-top-nav-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: min(1100px, 100%);
    margin: 0 auto;
}

.calendar-top-nav-buttons #previousWeek,
.calendar-top-nav-buttons #nextWeek,
.calendar-top-nav-buttons #previousDay,
.calendar-top-nav-buttons #nextDay {
    position: static !important;
}

.calendar-top-controls #calendar-navigation #previousWeek,
.calendar-top-controls #calendar-navigation #nextWeek,
.calendar-top-controls #calendar-navigation #previousDay,
.calendar-top-controls #calendar-navigation #nextDay {
    flex: 0 0 auto;
}

.calendar-top-controls #CalendarChange {
    position: static;
    height: auto;
    width: min(1100px, 100%);
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    flex: 0 1 auto;
}

/* All three calendar selects share the same base style */
.calendar-view-select,
.calendar-filter-select,
.calendar-teacher-select {
    min-width: 148px;
    min-height: 44px;
    border: 1px solid #d1d5db;
    border-radius: var(--radius-lg);
    padding: 8px 38px 8px 14px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 6 5-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 14px) center;
    background-size: 12px 8px;
}

.calendar-view-select:hover,
.calendar-filter-select:hover,
.calendar-teacher-select:hover {
    border-color: #2563eb;
}

.calendar-view-select:focus,
.calendar-filter-select:focus,
.calendar-teacher-select:focus {
    outline: none;
    border-color: var(--color-gold);
}

.calendar-view-select option,
.calendar-filter-select option,
.calendar-teacher-select option {
    background: #ffffff;
    color: #0f172a;
    font-weight: 600;
}

.calendar-best-lesson-btn {
    text-decoration: none;
    background: #2563eb;
    color: #ffffff;
    border-radius: var(--radius-pill);
    border: 1px solid #1d4ed8;
    padding: 9px 16px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0.02em;
    transition: background 0.15s;
}

.calendar-best-lesson-btn:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.time-slot-button {
    color: #f8fafc;
    background-color: #0f172a;
    border: 1px solid #334155;
    border-radius: var(--radius-md);
    padding: 6px 12px;
    text-decoration: none;
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    transition: background-color 0.15s;
}

.time-slot-button:hover {
    background-color: #2563eb;
    color: #ffffff;
}

.calendar-view-label,
.calendar-control-label {
    font-size: 10px;
    font-weight: 800;
    color: #64748b;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    margin-right: 2px;
}

.calendar-top-nav-buttons input[type="submit"] {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-pill);
    border: 1px solid #1d4ed8;
    background: #2563eb;
    color: #ffffff;
    font-weight: 800;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
    transition: background 0.15s;
}

.calendar-top-nav-buttons input[type="submit"]:hover {
    background: #1d4ed8;
}

.calendar-top-nav-buttons input[type="submit"]:active {
    transform: translateY(0);
}

.calendar-filter-center {
    display: none;
}

.calendar-filter-center .tag-dropdown {
    width: min(100%, 820px);
    margin: 0;
}

.filter-chip-strip {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.filter-chip-category {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    color: #4c5845;
    padding: 0 4px;
}

.booking-filter-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    margin: 4px auto 10px;
    flex-wrap: wrap;
}

.filter-chip-strip::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.filter-chip-btn {
    appearance: none;
    border: 1px solid rgba(71, 77, 61, 0.38);
    background: #ffffff;
    color: #33412e;
    border-radius: var(--radius-pill);
    padding: 7px 12px;
    min-width: 90px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.filter-chip-btn:hover {
    border-color: var(--color-green);
}

.filter-chip-btn.is-selected {
    background: var(--color-green);
    color: var(--color-tan);
    border-color: var(--color-green);
}

.filter-chip-btn:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 2px;
}

.bulk-delete-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 10px auto 14px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    background: rgba(71, 77, 61, 0.08);
    border: 1px solid rgba(71, 77, 61, 0.2);
}

.bulk-delete-select-all,
.bulk-delete-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2f2f2f;
    font-size: 12px;
    font-weight: 600;
}

.bulk-delete-checkbox {
    margin-right: 8px;
}

.bulk-delete-btn {
    border: none;
    border-radius: var(--radius-pill);
    padding: 8px 14px;
    background: #9c3f3f;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.bulk-delete-btn:hover {
    background: #7f2f2f;
}

#calendar-navigation.upcoming-nav {
    align-items: center;
}

#calendar-navigation.upcoming-nav .calendar-filter-center {
    flex: 1 1 auto;
}

@media (max-width: 900px) {
    #calendar-navigation {
        flex-wrap: wrap;
        gap: 10px;
    }

    .calendar-filter-center {
        order: 3;
        width: 100%;
    }

    .calendar-top-controls {
        align-items: stretch;
        padding: 0;
    }

    .calendar-top-controls .teacher-search,
    .calendar-top-controls #calendar-navigation,
    .calendar-top-controls #CalendarChange {
        flex: 1 1 100%;
    }

    .calendar-top-controls .teacher-search form {
        justify-content: stretch;
    }

    .calendar-top-nav-buttons {
        width: 100%;
        justify-content: space-between;
    }

    .calendar-best-lesson-btn,
    .calendar-view-select,
    .calendar-filter-select,
    .calendar-teacher-select {
        width: 100%;
        min-width: 110px;
        text-align: center;
    }

    .calendar-control-label,
    .calendar-view-label {
        width: 100%;
        margin-right: 0;
    }

    .calendar-top-controls #CalendarChange {
        justify-content: stretch;
        gap: 10px;
        padding: 0;
    }
}

/* Login/register top clipping fix + strong mobile layout */
#loginContainer,
#registerContainer {
    padding-top: 88px;
    box-sizing: border-box;
}

#loginContainer #cont,
#registerContainer #cont1 {
    top: 0 !important;
    transform: translate(-50%, 0) !important;
    margin-top: 12px;
}

#registerContainer #cont1 {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(260px, 320px);
    align-items: stretch;
    max-width: 980px;
}

#registerContainer #regForm {
    position: static;
    width: 100%;
    max-width: 460px;
    margin: 32px auto 24px;
    padding: 0 24px;
}

#registerContainer #cont3 {
    position: static;
    width: 100%;
    height: 100%;
    left: auto;
    padding: 0;
    border-radius: 0 20px 20px 0;
}

#registerContainer #info3 {
    position: static;
    width: 100%;
    height: 100%;
    padding: 48px 18px 20px;
}

#registerContainer #text3 {
    position: static;
    width: 100%;
    padding: 0 8px;
    margin-bottom: 26px;
}

#registerContainer form label {
    width: 100%;
    margin: 14px 0 0;
    text-align: left;
}

#registerContainer form input {
    display: block;
    width: 100%;
    text-align: left;
}

@media (max-width: 900px) {
    #loginContainer,
    #registerContainer {
        padding-top: 72px;
    }

    #loginContainer #cont,
    #registerContainer #cont1 {
        left: 50% !important;
        width: min(560px, 95vw) !important;
    }

    #registerContainer #cont1 {
        grid-template-columns: 1fr;
        height: auto !important;
    }

    #registerContainer #cont3 {
        border-radius: 0 0 20px 20px;
    }
}

/* Auth footer breathing room */
#loginContainer,
#registerContainer {
    padding-bottom: 52px !important;
}

#loginContainer #cont,
#registerContainer #cont1 {
    margin-bottom: 28px;
}

/* Register instrument dropdown */
#registerContainer #regForm select {
    font-family: 'Times New Roman', serif;
    display: block;
    width: 100%;
    background-color: transparent;
    outline: none;
    color: var(--color-green);
    margin-top: 5px;
    padding: 6px 2px;
    font-size: 16px;
    text-align: left;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

#registerContainer #regForm select option {
    color: #1f1f1f;
    background-color: #ffffff;
}

/* Calendar search and filter responsiveness */
.teacher-search {
    margin: 8px 0 12px;
}

.teacher-search form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

.teacher-search .calendar-teacher-select {
    width: min(360px, 92vw);
    min-height: 40px;
    border: 1px solid rgba(71, 77, 61, 0.28);
    border-radius: var(--radius-sm);
    padding: 8px 10px;
    background: #ffffff;
    color: #2f2f2f;
}

.calendar-desktop-table {
    width: 100%;
}

.month-day-cell .month-day-content {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.month-day-number {
    font-weight: 700;
    color: #2f2f2f;
    line-height: 1.2;
}

/* Mobile-first calendar redesign (weekly/monthly) */
.calendar-mobile-view {
    display: none;
}

@media screen and (max-width: 700px) {
    .calendar-desktop-table {
        display: none;
    }

    .calendar-mobile-view {
        display: grid;
        gap: 10px;
        margin-top: 12px;
        padding-bottom: 12px;
    }

    .mobile-day-card {
        background: #ffffff;
        border: 1px solid rgba(71, 77, 61, 0.18);
        border-radius: var(--radius-md);
        padding: 10px;
    }

    .mobile-day-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
    }

    .mobile-day-date {
        color: var(--color-green);
        font-size: 14px;
        font-weight: 700;
        line-height: 1.25;
    }

    .mobile-day-count {
        font-size: 12px;
        color: #505050;
        background: #f8fafc;
        border-radius: var(--radius-pill);
        padding: 4px 8px;
        white-space: nowrap;
    }

    .mobile-day-action {
        display: inline-block;
        margin-top: 4px;
        font-size: 13px;
        color: var(--color-tan);
        text-decoration: none;
        background: var(--color-green);
        border-radius: var(--radius-sm);
        padding: 6px 10px;
    }

    .mobile-day-empty {
        margin: 2px 0 0;
        font-size: 13px;
        color: #6b6b6b;
    }

    .mobile-event-list {
        display: grid;
        gap: 8px;
    }

    .mobile-event-item {
        display: flex;
        flex-direction: column;
        gap: 2px;
        text-decoration: none;
        color: #2f2f2f;
        border: 1px solid #d7d7d7;
        border-radius: 9px;
        padding: 8px;
        background: #fafafa;
    }

    .mobile-event-time {
        font-size: 12px;
        font-weight: 700;
        color: #3f3f3f;
        line-height: 1.2;
    }

    .mobile-event-teacher {
        font-size: 13px;
        color: #1f1f1f;
        line-height: 1.25;
    }

    .mobile-event-instrument {
        font-size: 12px;
        color: #5a5a5a;
        line-height: 1.2;
    }

    #CalendarWeeklyHeading h2,
    #aptConfirmHeading h2 {
        font-size: 22px !important;
        line-height: 1.25;
    }

    #calendar-navigation {
        align-items: stretch;
    }

    .calendar-filter-center .tag-dropdown {
        width: 100%;
    }

    .filter-chip-strip {
        padding-bottom: 4px;
    }

    .filter-chip-btn {
        min-width: 82px;
        font-size: 11px;
        padding: 8px 10px;
    }
}

/* Create appointment mobile clipping fix */
.calendar2Cont {
    margin-left: var(--navbar-width);
    width: calc(100% - var(--navbar-width));
    box-sizing: border-box;
    padding: 0 10px 20px;
    overflow-x: hidden;
}

.calendar2Cont #createAptCont {
    width: min(960px, 100%);
    margin: 0 auto;
    box-sizing: border-box;
    overflow-x: hidden;
}

.calendar2Cont .event-builder-grid,
.calendar2Cont .event-builder-left,
.calendar2Cont .event-builder-right,
.calendar2Cont .repeat-fields,
.calendar2Cont .event-form-panel {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

@media screen and (max-width: 700px) {
    .calendar2Cont {
        margin-left: 0;
        width: 100%;
        padding: 58px 8px 16px;
    }

    .calendar2Cont #createAptCont {
        width: 100%;
        padding: 14px 10px;
    }

    .calendar2Cont .event-builder-left,
    .calendar2Cont .event-builder-right {
        padding: 10px;
    }

    .calendar2Cont .event-time-slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calendar2Cont .repeat-fields {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
}

/* Final mobile calendar/profile alignment overrides */
@media screen and (max-width: 700px) {
    #calendar-navigation {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center !important;
        gap: 10px;
        margin-bottom: 12px;
    }

    #calendar-navigation #previousWeek,
    #calendar-navigation #nextWeek,
    #calendar-navigation #previousDay,
    #calendar-navigation #nextDay {
        flex: 1 1 calc(50% - 10px);
        max-width: 220px;
        display: flex;
    }

    #calendar-navigation #previousWeek input[type="submit"],
    #calendar-navigation #nextWeek input[type="submit"],
    #calendar-navigation #previousDay input[type="submit"],
    #calendar-navigation #nextDay input[type="submit"] {
        width: 100%;
        padding: 10px 12px;
        white-space: nowrap;
    }

    #calendar-navigation .calendar-filter-center {
        order: 3;
        flex: 1 1 100%;
        width: 100%;
    }

    #calendar-navigation .calendar-nav-title-wrap {
        order: 2;
        flex: 1 1 100%;
        text-align: center;
    }

    #calendar-navigation.upcoming-nav .calendar-nav-title {
        margin: 2px 0 0;
        font-size: 20px;
        line-height: 1.25;
    }

    #profilePageContainer {
        min-height: calc(100vh - var(--footer-height));
        padding: 78px 10px 130px !important;
    }

    #profileContainer {
        margin-top: 12px;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    #leftSectionProfile,
    #rightSectionProfile {
        padding: 16px 12px;
    }

    /* Upcoming appointment pages: keep prev/next on opposite sides */
    #calendar-navigation.upcoming-nav {
        justify-content: space-between;
        align-items: center !important;
    }

    #calendar-navigation.upcoming-nav #previousWeek,
    #calendar-navigation.upcoming-nav #nextWeek {
        flex: 0 0 auto;
        max-width: none;
    }

    #calendar-navigation.upcoming-nav #nextWeek {
        margin-left: auto;
    }

    #calendar-navigation.upcoming-nav .calendar-nav-title-wrap {
        order: 3;
        flex: 1 1 100%;
        text-align: center;
    }

    #calendar-navigation.upcoming-nav .calendar-filter-center {
        order: 4;
    }

    .bulk-delete-toolbar {
        justify-content: stretch;
    }

    .bulk-delete-btn {
        flex: 1 1 calc(50% - 10px);
        text-align: center;
    }
}

/* High-visibility auth validation */
.auth-error-banner {
    margin: 10px 0 12px;
    padding: 12px;
    border: 2px solid #a70000;
    border-radius: var(--radius-sm);
    background: #fee2e2;
    color: #8e0000;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.auth-error-banner:empty {
    display: none;
}

.auth-error-banner.validation-summary-valid {
    display: none;
}

.auth-error-banner ul {
    margin: 6px 0 0 18px;
}

.auth-error-banner li {
    margin: 2px 0;
}

.admin-success-banner {
    margin: 10px 0 12px;
    padding: 12px;
    border: 2px solid #2d5f2f;
    border-radius: var(--radius-sm);
    background: #dcfce7;
    color: #1f4c21;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.drive-warning-text {
    color: #2a1f00;
    background: #2563eb;
    border: none;
    border-radius: var(--radius-sm);
    padding: 8px 10px;
}

.drive-recommendation-text {
    color: #1f261b;
    background: #f8fafc;
    border: 1px solid rgba(120, 96, 52, 0.35);
    border-radius: var(--radius-sm);
    padding: 8px 10px;
}

.instrument-chip-list {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.instrument-chip {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    padding: 5px 9px;
    border-radius: var(--radius-pill);
    background: #f8fafc;
    color: #273222;
    border: none;
}

.instrument-chip-muted {
    background: #e2e8f0;
    color: #4a4a4a;
}

.instrument-list-details {
    margin-top: 8px;
}

.instrument-list-details summary {
    cursor: pointer;
    color: #ffffff;
    font-weight: 700;
}

.drive-optimization-details,
.drive-optimization-choice {
    margin-top: 8px;
    border: none;
    border-radius: var(--radius-sm);
    background: #ffffff;
    color: #222c1d;
}

.drive-optimization-details summary,
.drive-optimization-choice summary {
    cursor: pointer;
    list-style: none;
    padding: 10px 12px;
    font-weight: 700;
    color: #25301f;
    position: relative;
}

.drive-optimization-details summary::-webkit-details-marker,
.drive-optimization-choice summary::-webkit-details-marker {
    display: none;
}

.drive-optimization-details summary::after,
.drive-optimization-choice summary::after {
    content: "▾";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #5b4320;
    font-size: 14px;
}

.drive-optimization-details[open] summary::after,
.drive-optimization-choice[open] summary::after {
    content: "▴";
}

.drive-optimization-content {
    border-top: none;
    padding: 10px 12px 12px;
}

.drive-decision-panel {
    color: #1f261b;
    background: #ffffff;
    border: none;
    border-radius: var(--radius-sm);
    padding: 10px;
}

.lesson-length-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid rgba(168, 133, 71, 0.5);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 480px;
    width: min(100%, 480px);
}

.lesson-length-label {
    margin: 0;
    color: #2a2a2a;
    font-weight: 700;
}

.lesson-length-select {
    width: min(420px, 100%);
    min-height: 42px;
    border: 1px solid rgba(71, 77, 61, 0.35);
    border-radius: var(--radius-sm);
    padding: 9px 12px;
    background: #ffffff;
    color: #2f2f2f;
    font-weight: 700;
    font-size: 16px;
}

.lesson-length-select:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 2px;
}

.lesson-credit-hint {
    color: #2d3a28;
    font-size: 13px;
    font-weight: 700;
}

.admin-log-filter-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.admin-log-filter-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-log-filter-row label {
    font-size: 12px;
    font-weight: 700;
    color: #4b5443;
}

.admin-log-actions {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
}

.admin-log-action-form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-log-delete-confirm {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #3a3a3a;
    font-size: 12px;
    font-weight: 600;
}

.admin-log-group {
    max-width: 1120px;
    margin: 0 auto 14px;
    background: #ffffff;
    border: 1px solid rgba(71, 77, 61, 0.2);
    border-radius: 14px;
    padding: 12px;
}

.admin-log-group-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.admin-log-group-title {
    margin: 0;
    color: var(--color-green);
}

.admin-log-group-stats {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
    color: #4a4a4a;
}

.admin-log-table-wrap {
    overflow-x: auto;
}

.admin-log-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.admin-log-table th,
.admin-log-table td {
    border: 1px solid rgba(71, 77, 61, 0.2);
    padding: 8px;
    text-align: left;
    vertical-align: top;
}

.admin-log-table th {
    background: #f1f5f9;
    color: #263120;
}

/* Calendar top controls final alignment override */
#CalendarWeeklyHeading .calendar-top-controls,
#aptConfirmHeading .calendar-top-controls {
    width: min(1120px, 100%);
    margin: 4px auto 10px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons,
#aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    gap: 10px;
}

#CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-right,
#aptConfirmHeading .calendar-top-controls .calendar-top-nav-right {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* CalendarChange as a sibling of the nav form (main calendar with many filters) */
#CalendarWeeklyHeading .calendar-top-controls > #CalendarChange,
#aptConfirmHeading .calendar-top-controls > #CalendarChange {
    width: 100%;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    justify-content: center;
}

/* CalendarChange inside the nav form (inline single-row layout) */
#CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons #CalendarChange,
#aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons #CalendarChange {
    flex: 1 1 auto;
    width: auto;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: center;
}

#CalendarWeeklyHeading .calendar-inline-search,
#aptConfirmHeading .calendar-inline-search {
    display: contents;
}

/* Control groups in the outer row (main calendar below nav) */
#CalendarWeeklyHeading .calendar-control-group,
#aptConfirmHeading .calendar-control-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 148px;
    flex: 1 1 180px;
    max-width: 240px;
}

/* Control groups inside the nav form (inline pages - more compact) */
#CalendarWeeklyHeading .calendar-top-nav-buttons .calendar-control-group,
#aptConfirmHeading .calendar-top-nav-buttons .calendar-control-group {
    min-width: 140px;
    max-width: 220px;
    flex: 1 1 160px;
}

#CalendarWeeklyHeading .calendar-top-controls .teacher-search form,
#aptConfirmHeading .calendar-top-controls .teacher-search form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
}

#CalendarWeeklyHeading .calendar-top-controls #CalendarChange .calendar-control-label,
#CalendarWeeklyHeading .calendar-top-controls #CalendarChange .calendar-view-label,
#aptConfirmHeading .calendar-top-controls #CalendarChange .calendar-control-label,
#aptConfirmHeading .calendar-top-controls #CalendarChange .calendar-view-label {
    margin: 0;
}

/* Selects always fill their control-group container */
#CalendarWeeklyHeading .calendar-top-controls .calendar-view-select,
#CalendarWeeklyHeading .calendar-top-controls .calendar-filter-select,
#CalendarWeeklyHeading .calendar-top-controls .calendar-teacher-select,
#aptConfirmHeading .calendar-top-controls .calendar-view-select,
#aptConfirmHeading .calendar-top-controls .calendar-filter-select,
#aptConfirmHeading .calendar-top-controls .calendar-teacher-select {
    width: 100%;
    min-width: 0;
}


.calendar-delete-day-form {
    margin-top: 6px;
}

.calendar-delete-day-btn {
    border: 1px solid #b75b5b;
    background: #fee2e2;
    color: #7f1f1f;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 8px;
    cursor: pointer;
}

.calendar-delete-day-btn:hover {
    background: #fca5a5;
}


#CalendarWeeklyHeading .calendar-top-controls .calendar-best-lesson-btn,
#aptConfirmHeading .calendar-top-controls .calendar-best-lesson-btn {
    width: fit-content;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-pill);
}


@media (max-width: 980px) {
    #CalendarWeeklyHeading .calendar-top-controls #CalendarChange,
    #aptConfirmHeading .calendar-top-controls #CalendarChange {
        justify-content: stretch;
    }

    #CalendarWeeklyHeading .calendar-top-controls .calendar-control-group,
    #aptConfirmHeading .calendar-top-controls .calendar-control-group,
    #CalendarWeeklyHeading .calendar-top-controls .teacher-search,
    #aptConfirmHeading .calendar-top-controls .teacher-search {
        min-width: 0;
        max-width: none;
        flex: 1 1 100%;
    }

    .calendar-status-legend {
        margin-left: 0;
    }
}

@media (max-width: 620px) {
    /* Inline nav: arrows stay on the same top row, dropdowns wrap below */
    #CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons,
    #aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 6px;
    }

    /* ← stays order 1 (left) */
    #CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons #previousWeek,
    #CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons #previousDay,
    #aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons #previousWeek,
    #aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons #previousDay {
        order: 1;
        flex: 0 0 auto;
    }

    /* → stays order 2 (right) */
    #CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons .calendar-top-nav-right,
    #aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons .calendar-top-nav-right {
        order: 2;
        flex: 0 0 auto;
    }

    /* dropdowns wrap below with order 3 */
    #CalendarWeeklyHeading .calendar-top-controls .calendar-top-nav-buttons #CalendarChange,
    #aptConfirmHeading .calendar-top-controls .calendar-top-nav-buttons #CalendarChange {
        order: 3;
        flex: 1 1 100%;
        justify-content: center;
    }

    #CalendarWeeklyHeading .calendar-top-nav-buttons .calendar-control-group,
    #aptConfirmHeading .calendar-top-nav-buttons .calendar-control-group {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
    }

    /* Main calendar (CalendarChange outside form): arrows row always space-between */
    #CalendarWeeklyHeading .calendar-top-controls > .calendar-top-nav-buttons,
    #aptConfirmHeading .calendar-top-controls > .calendar-top-nav-buttons {
        flex-wrap: nowrap;
    }
}

/* Shared heading style across calendar pages */
#CalendarWeeklyHeading > h2,
#aptConfirmHeading > h2,
#calendarHeadingTitle > h1,
.calendar-nav-title {
    font-family: Georgia, "Times New Roman", serif;
    color: #2e382a !important;
    font-weight: 700;
    letter-spacing: 0.2px;
    text-align: center;
    margin: 0 0 6px;
    padding: 0 8px;
}

#CalendarWeeklyHeading > h2,
#aptConfirmHeading > h2,
#calendarHeadingTitle > h1 {
    font-size: clamp(1.5rem, 3.2vw, 2.4rem);
}

.calendar-nav-title {
    font-size: clamp(1.4rem, 2.8vw, 2.05rem);
}

.ranked-slot-calendar {
    width: min(1200px, 96%);
    margin: 12px auto 24px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
}

.ranked-slot-day {
    border: 1px solid rgba(71, 77, 61, 0.2);
    border-radius: var(--radius-md);
    background: #ffffff;
    overflow: hidden;
}

.ranked-slot-day-header {
    background: var(--color-green);
    color: var(--color-tan);
    padding: 8px 10px;
    font-weight: 700;
    text-align: center;
}

.ranked-slot-item {
    margin: 10px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(71, 77, 61, 0.2);
    background: #ffffff;
    padding: 10px;
    text-align: left;
}

.ranked-slot-item.is-top {
    border-color: #2d8a4c;
}

.ranked-slot-item.is-mid {
    border-color: #b58a3e;
}

.ranked-slot-item.is-low {
    border-color: #8f8f8f;
}

.ranked-slot-rank {
    display: inline-block;
    border-radius: var(--radius-pill);
    background: #33412e;
    color: #ffffff;
    font-weight: 700;
    font-size: 12px;
    padding: 3px 8px;
    margin-bottom: 6px;
}

.ranked-slot-time {
    font-size: 16px;
    font-weight: 700;
    color: #2f2f2f;
    margin-bottom: 6px;
}

.ranked-slot-detail {
    font-size: 12px;
    color: #2d2d2d;
    margin: 2px 0;
    line-height: 1.3;
}

.ranked-slot-debug {
    margin-top: 6px;
    font-size: 11px;
    color: #5b5b5b;
    line-height: 1.3;
}

.input-error {
    display: block;
    margin-top: 4px;
    color: #c10000;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.3;
    text-align: left;
}

/* Signup multi-instrument chips */
.register-instrument-label {
    margin-top: 16px;
}

.register-instrument-groups {
    display: grid;
    gap: 8px;
    margin-top: 6px;
}

.register-instrument-group {
    border: 1px solid #cbd5e1;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: #ffffff;
}

.register-instrument-group summary {
    cursor: pointer;
    padding: 10px 12px;
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 700;
    font-size: 14px;
}

.register-instrument-group[open] summary {
    border-bottom: 1px solid #e2e8f0;
    background: #e0f2fe;
    color: #1e3a8a;
}

.register-instrument-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
}

.register-instrument-chip {
    display: inline-flex;
    align-items: center;
}

.register-instrument-chip input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.register-instrument-chip span {
    display: inline-block;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    border-radius: var(--radius-pill);
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.register-instrument-chip span:hover {
    border-color: #2563eb;
    color: #1e3a8a;
}

.register-instrument-chip input[type="checkbox"]:checked + span {
    background: #2563eb;
    color: #ffffff;
    border-color: #1d4ed8;
}

.register-instrument-chip input[type="checkbox"]:focus-visible + span {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.availability-editor-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.availability-help {
    font-size: 13px;
    color: #555;
    margin: 0 0 8px;
    line-height: 1.4;
}

.availability-editor {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
}

.availability-day-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    transition: background-color 120ms ease, border-color 120ms ease, opacity 120ms ease;
}

.availability-day-row.is-disabled {
    background: #f1f5f9;
    opacity: 0.75;
}

.availability-day-row.has-invalid-range {
    border-color: #dc2626;
    background: #fef2f2;
}

.availability-day-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.availability-day-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--color-green);
    cursor: pointer;
    user-select: none;
}

.availability-day-toggle input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-green);
    cursor: pointer;
}

.availability-day-name {
    font-size: 15px;
    letter-spacing: 0.02em;
}

.availability-day-summary {
    font-size: 13px;
    color: #555;
    font-variant-numeric: tabular-nums;
}

.availability-time-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.availability-time-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1 1 140px;
    font-size: 12px;
    color: #444;
}

.availability-time-field input[type="time"] {
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid rgba(71, 77, 61, 0.35);
    background: #ffffff;
    font-size: 14px;
    color: #0f172a;
}

.availability-time-field input[type="time"]:disabled {
    background: #efeee4;
    color: #9a9a9a;
    cursor: not-allowed;
}

.availability-visual {
    margin-top: 2px;
}

.availability-visual-track {
    position: relative;
    height: 22px;
    border-radius: 6px;
    background: #e5e7eb;
    border: 1px solid #d1d5db;
    overflow: hidden;
}

.availability-visual-bar {
    position: absolute;
    top: 0;
    bottom: 0;
    background: #2563eb;
    border-radius: 4px;
    transition: left 150ms ease, width 150ms ease, opacity 150ms ease;
}

.availability-day-row.is-disabled .availability-visual-bar {
    opacity: 0.25;
}

.availability-day-row.has-invalid-range .availability-visual-bar {
    background: #c94848;
}

.availability-visual-ticks {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 6px;
    color: rgba(31, 45, 30, 0.5);
    font-size: 10px;
    pointer-events: none;
    font-variant-numeric: tabular-nums;
}




/* ========================================================================== */
/*  Owner Dashboard + Build My Business                                        */
/* ========================================================================== */

.owner-dashboard-container,
.admin-page-container {
    max-width: 1200px;
    margin: 8px 12px 60px calc(var(--navbar-width) + 12px);
    padding: 22px 26px 28px;
    color: var(--brand-text, #0f172a);
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-sizing: border-box;
    width: calc(100% - var(--navbar-width) - 24px);
}

.admin-page-header {
    margin-bottom: 18px;
}

.admin-page-header h1 {
    font-family: 'Inter', system-ui, sans-serif;
    margin: 0 0 4px;
    color: var(--brand-text, #0f172a);
}

.admin-page-subtitle {
    margin: 0;
    opacity: 0.85;
}

.admin-page-banner {
    margin: 12px 0 18px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 14px;
}

    .admin-page-banner.is-success {
        background: rgba(107, 163, 103, 0.2);
        border: 1px solid rgba(107, 163, 103, 0.55);
        color: #d5f2c7;
    }

    .admin-page-banner.is-error {
        background: rgba(200, 85, 85, 0.22);
        border: 1px solid rgba(200, 85, 85, 0.55);
        color: #f7d4d4;
    }

.admin-form-card {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 18px 20px;
    display: grid;
    gap: 12px;
    max-width: 720px;
}

    .admin-form-card label {
        display: block;
    }

    .admin-form-card label > span {
        display: block;
        font-weight: 600;
        margin-bottom: 4px;
        font-size: 14px;
    }

.admin-form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.admin-primary-btn {
    justify-self: flex-start;
    padding: 10px 18px;
    border: 1px solid #2563eb;
    background: #2563eb;
    color: #fff;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

    .admin-primary-btn:hover {
        background: #1d4ed8;
        border-color: #1d4ed8;
    }

@media (max-width: 700px) {
    .owner-dashboard-container,
    .admin-page-container {
        /* Mobile: the tenant-pill-bar above handles clearance below
           the fixed top bar. Keep the container compact. */
        margin: 8px 8px 40px 8px;
        width: calc(100% - 16px);
        padding: 16px 14px 22px;
        max-width: 100%;
        border-radius: 14px;
    }

    .admin-form-card {
        padding: 14px;
    }
}

.owner-create-business-card {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px 20px;
    margin: 16px 0 28px;
}

.owner-inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.owner-inline-form .tag {
    flex: 1 1 260px;
    min-width: 0;
}

.owner-business-card {
    position: relative;
    padding: 34px 18px 18px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-sizing: border-box;
}

.owner-business-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 18px;
}

.owner-business-header {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.owner-business-title-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.owner-business-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--brand-text, #0f172a);
}

.owner-business-owner {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    opacity: 0.85;
    align-items: baseline;
}

    .owner-business-owner .owner-owner-label {
        font-weight: 600;
        opacity: 0.7;
    }

    .owner-business-owner .owner-owner-email {
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        font-size: 11px;
        opacity: 0.7;
    }

.owner-business-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 16px;
    margin: 0;
}

    .owner-business-metrics > div {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px dashed #e5e7eb;
        padding: 4px 0;
    }

    .owner-business-metrics dt {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        opacity: 0.7;
        margin: 0;
    }

    .owner-business-metrics dd {
        margin: 0;
        font-weight: 700;
        font-size: 14px;
    }

.owner-business-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

    .owner-business-actions .owner-primary-btn {
        background: #2563eb !important;
        border-color: #2563eb !important;
        color: #fff !important;
    }

.owner-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: 16px;
    margin-bottom: 18px;
}

.owner-hero-title {
    margin: 0 0 6px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #f8fafc;
}

.owner-hero-subtitle {
    margin: 0;
    font-size: 14px;
    opacity: 0.88;
    max-width: 780px;
    color: #e2e8f0;
}

.owner-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.owner-kpi-card {
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.owner-kpi-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.7;
    margin-bottom: 6px;
}

.owner-kpi-value {
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}

.owner-controls {
    margin-bottom: 18px;
}

.owner-controls-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}

.owner-control {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    opacity: 0.85;
    flex: 1 1 180px;
    min-width: 0;
}

    .owner-control .tag {
        min-width: 0;
    }

.owner-status {
    margin-bottom: 16px;
}

.navbar-logout-form {
    margin: 0;
    padding: 0;
    width: 100%;
}

.navbar-logout-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    padding: 0;
    width: 100%;
    text-align: inherit;
}

.owner-business-swatch {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    background: #2563eb;
}

.owner-danger-btn {
    background: #7a1f1f !important;
    border-color: #7a1f1f !important;
    color: #fff !important;
}

.owner-danger-btn:hover {
    background: #a12a2a !important;
    border-color: #a12a2a !important;
}

.branding-color-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 10px 0 20px;
}

.branding-color-card {
    background: rgba(247, 245, 225, 0.06);
    border: 1px solid rgba(163, 127, 65, 0.4);
    border-radius: 12px;
    padding: 12px 14px;
}

.branding-color-row {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 6px;
}

.branding-color-picker {
    width: 56px;
    height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: transparent;
    padding: 2px;
    cursor: pointer;
}

.branding-color-text {
    flex: 1 1 auto;
    font-family: "Courier New", monospace;
    text-transform: uppercase;
}

.branding-preview {
    margin: 14px 0 24px;
    border-radius: 14px;
    border: 1px solid #cbd5e1;
    overflow: hidden;
    background: var(--preview-secondary, #0f172a);
    color: var(--preview-text, #ffffff);
}

.branding-preview-header {
    background: var(--preview-primary, #1e293b);
    color: var(--preview-text, #ffffff);
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
}

.branding-preview-chip {
    background: var(--preview-accent, #2563eb);
    color: var(--preview-text, #ffffff);
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.branding-preview-body {
    display: flex;
    gap: 10px;
    padding: 16px 18px;
    flex-wrap: wrap;
}

.branding-preview-btn {
    background: var(--preview-primary, #1e293b);
    color: var(--preview-text, #ffffff);
    border: 1px solid var(--preview-accent, #2563eb);
    padding: 10px 18px;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.branding-preview-btn-accent {
    background: var(--preview-accent, #2563eb);
    color: var(--preview-text, #ffffff);
    border-color: var(--preview-accent, #2563eb);
}

.branding-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin: 10px 0 0;
}

.branding-filter-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    cursor: pointer;
}

.branding-filter-option input[type="checkbox"] {
    transform: scale(1.15);
    accent-color: var(--brand-accent, #2563eb);
}

.navbar-exit-form {
    margin: 0;
    padding: 0;
}

.navbar-exit-btn {
    background: rgba(122, 31, 31, 0.85);
    border: 1px solid #a12a2a;
    color: #fff;
    padding: 6px 14px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
}

.navbar-exit-btn:hover {
    background: #a12a2a;
}


/* Registration: account-type selector */
.register-account-type {
    margin: 10px 0 18px;
    padding: 14px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
}

.register-account-type-label {
    display: block;
    font-weight: 700;
    margin-bottom: 10px;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1e3a8a;
}

.register-account-type-select-wrapper {
    position: relative;
    display: block;
    width: 100%;
}

    /* Custom caret - native selects on different platforms look wildly
       different, so we hide the OS arrow and draw our own so the control
       feels consistent with the rest of the brand styling. */
    .register-account-type-select-wrapper::after {
        content: "";
        position: absolute;
        right: 16px;
        top: 50%;
        width: 10px;
        height: 10px;
        border-right: 2px solid #2563eb;
        border-bottom: 2px solid #2563eb;
        transform: translateY(-70%) rotate(45deg);
        pointer-events: none;
    }

.register-account-type-select {
    width: 100%;
    padding: 12px 44px 12px 14px;
    font-size: 15px;
    font-family: inherit;
    color: #0f172a;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

    .register-account-type-select:focus {
        border-color: #2563eb;
        outline: 2px solid #93c5fd;
        outline-offset: 1px;
    }

    .register-account-type-select option {
        background: #ffffff;
        color: #0f172a;
    }

.register-account-type-hint {
    margin: 10px 2px 0;
    font-size: 13px;
    opacity: 0.8;
}

@media (max-width: 700px) {
    .register-account-type {
        padding: 12px;
    }

    .register-account-type-select {
        font-size: 16px; /* prevent iOS zoom on focus */
        padding: 14px 44px 14px 14px;
    }
}
