﻿/* Account Header */
.account-header {
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.account-subheader {
    font-family: "Montserrat", sans-serif;
    color: #144562;
    font-weight: bold;
    text-align: left;
}

.account-header__info {
    height: 100%;
    width: fit-content;
}

.print {
    font-family: "Barlow Condensed", sans-serif;
    background-color: #144562;
    padding: 10px 25px;
    border-radius: 5px;
    color: #ffffff;
}

.print:hover {
    background-color: #DA4528;
    color: #ffffff;
    text-decoration: none;
}

.account-header__info p {
    margin: 0;
    line-height: 1.6;
}

.account-header__actions {
    height: 100%;
    width: fit-content;
}

/* Account Controls */
.account-controls {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.account-controls__account-selector {
    float: left;
}

.account-controls__year-selector {
    float: right;
}

.account-controls__label {
    display: inline-block;
    margin-right: 8px;
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
}

.account-controls__select {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    background-color: #F3F3F3;
    border-color: #E9E9E9;
}

/* Transaction Table */
.transaction-table {
    width: 100%;
    margin-bottom: 20px;
}

.transaction-table__amount {
    text-align: right;
}

.table-striped {
    background-color: #F3F3F3;
    font-family: "Montserrat", sans-serif;
}

.table-header {
    background-color: #ffffff;
    font-family: "Montserrat", sans-serif;
}

/* Check Stub Table */
.check-table__amount {
    width: 100px;
}

.check-table__cell--right {
    text-align: right;
}

/* Year Summary */
.year-summary {
    font-family: "Montserrat", sans-serif;
}

.year-summary > tr > td {
    border: none;
}

/* Account Balance */
.account-balance {
    overflow: hidden;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
    background-color: #F3F3F3;
    border-color: #E9E9E9;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
}

.account-balance__label {
    float: left;
}

.account-balance__amount {
    float: right;
    font-weight: bold;
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: 40px 20px;
}

.empty-state__title {
    margin-top: 0;
    margin-bottom: 15px;
}

.empty-state__message {
    margin-bottom: 0;
}

/* Data Retention Notice */
.account-no-yearly {
    font-family: "Montserrat", sans-serif;
}
.data-retention-notice {
    padding: 20px;
}

.data-retention-notice__title {
    margin-top: 0;
    margin-bottom: 10px;
}

.data-retention-notice__message {
    margin-bottom: 0;
}

.check-stubs {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 20px;
    background-color: #144562;
    padding: 10px 25px;
    border-radius: 5px;
    color: #ffffff;
}

.check-stubs:hover {
    background-color: #DA4528;
    color: #ffffff;
    text-decoration: none;
}

/* 1099 forms page */
.tax-forms-table {
    width: 100%;
}

.tax-forms-table__download-cell {
    text-align: right;
}

.tax-forms-table__download-link {
    text-decoration: none;
}

/* Table wrapper for horizontal scrolling */
.table-responsive-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 20px;
}

.table-responsive-wrapper::-webkit-scrollbar {
    -webkit-appearance: none;
    height: 10px;
}

.table-responsive-wrapper::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(0, 0, 0, 0.3);
}

.table-responsive-wrapper::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 5px;
}

/* FAQ Accordion */
.faq__item {
    margin-bottom: 12px;
    border-radius: 4px;
    overflow: hidden;
    background: #9AD5DB;
    border: 1px solid #9AD5DB;
}

.faq__question {
    width: 100%;
    padding: 20px 24px;
    background: #9AD5DB;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s ease;
    color: #144562;
    font-weight: 600;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
}

.faq__question:hover {
    background: #e6f2f5;
}

.faq__question[aria-expanded="true"] {
    background: #d9eef3;
}

.faq__question-text {
    flex: 1;
    padding-right: 16px;
}

.faq__toggle-icon {
    display: flex;
    align-items: center;
    transition: transform 0.3s ease;
}

.faq__toggle-icon.rotated {
    transform: rotate(180deg);
}

.faq__icon--chevron {
    color: #144562;
}

.faq__answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
}

.faq__answer.expanded {
    max-height: 1000px;
}

.faq__answer-content {
    padding: 24px;
    color: #333;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.8;
    background: #ffffff;
}

.faq__answer-content p {
    margin-bottom: 16px;
}

.faq__answer-content p:last-child {
    margin-bottom: 0;
}

.faq__answer-content ul {
    margin: 16px 0;
    padding-left: 24px;
}

.faq__answer-content li {
    margin-bottom: 8px;
}

.faq__answer-content strong,
.faq__answer-content b {
    font-weight: 600;
    color: #144562;
}

.faq__answer-content a {
    color: #144562;
    text-decoration: none;
}

.faq__answer-content a:hover {
    text-decoration: underline;
}

/* Mobile Responsive Styles */
@media screen and (max-width: 768px) {
    /* Account Header */
    .account-header {
        height: auto;
    }

    .account-header__info {
        float: none;
        width: 65%;
    }

    .account-header__actions {
        width: 35%;
        margin-top: 15px;
        align-items: flex-end;
    }

    /* Account Controls */
    .account-controls {
        flex-direction: column;
        gap: 15px;
    }

    .account-controls__account-selector,
    .account-controls__year-selector {
        float: none;
        width: 100%;
        text-align: center;
    }

    .account-controls__label {
        display: block;
        margin-bottom: 5px;
    }

    .account-controls__select {
        width: 100%;
        max-width: 300px;
    }

    /* Table scrolling */
    .table-responsive-wrapper {
        overflow-x: scroll;
    }

    .transaction-table {
        min-width: 900px;
    }

    /* Account Balance */
    .account-balance__label,
    .account-balance__amount {
        float: none;
        display: block;
        text-align: center;
    }

    .account-balance__amount {
        margin-top: 10px;
    }
}
