/* =========================================================
   TERVIXA VAULT
   FONT SYSTEM
   ========================================================= */

/* =========================================================
   BASE
   ========================================================= */

html,
body {
    margin: 0;
    min-height: 100%;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 1rem;
    line-height: 1.5;
}

/* =========================================================
   SITE HEADER
   ========================================================= */

.site-logo {
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: 0.09rem;
    text-decoration: none;
}

.site-tagline {
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: 0.04rem;
    text-decoration: none;
}

.nav-link {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease;
}

/* =========================================================
   GENERAL CONTROLS
   ========================================================= */

button,
.form-group input,
.form-group select,
.modal-content select {
    font-size: 1rem;
}

.selected-period-label {
    font-size: 1.25rem;
    font-weight: 700;
}

.account-entry label {
    font-size: 0.875rem;
    font-weight: 700;
}

.totals-category {
    font-size: 0.875rem;
    font-weight: 700;
}

/* =========================================================
   FAQ
   ========================================================= */

.faq-item summary {
    list-style: none;

    font-size: 1rem;
    font-weight: 600;
}

.faq-item summary::after {
    font-size: 1.35rem;
    font-weight: 300;
}

.faq-answer {
    font-size: 1rem;
    line-height: 1.65;
}

.faq-answer a {
    font-weight: 600;
    text-decoration: none;
}

.faq-answer a:hover {
    text-decoration: underline;
}

/* =========================================================
   ACCOUNTS
   ========================================================= */

.account-name {
    text-align: center;

    font-size: 1.1rem;
    font-weight: 700;
}

.account-type {
    font-size: 0.875rem;
    font-weight: 400;
}

.account-action {
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease;
}

.account-column {
    text-align: right;
}

.account-label,
.account-income-item,
.account-expense-item {
    font-size: 0.875rem;
}

.account-value {
    font-size: 1rem;
    font-weight: 700;
}

.account-income-empty,
.account-expense-empty {
    font-size: 0.875rem;
}

/* =========================================================
   ACCOUNT BALANCE
   ========================================================= */

.account-balance {
    text-align: center;
}

.account-balance-label {
    font-size: 0.875rem;
    font-weight: 700;
}

.account-balance-value {
    font-size: 1.25rem;
    font-weight: 700;
}

/* =========================================================
   INCOME / SPENDING
   ========================================================= */
   
.spending-action {
    font-size: 1rem;
}

.income-name,
.spending-name {
    text-align: center;

    font-size: 1.1rem;
    font-weight: 700;
}

.income-category,
.expense-category {
    text-align: left;
}

.income-amount,
.expense-amount {
    text-align: right;

    font-weight: 700;
    white-space: nowrap;
}

.income-total-label,
.spending-total-label,
.income-input label,
.spending-input label {
    font-size: 0.875rem;
    font-weight: 700;
}

.income-total-value,
.spending-total-value {
    font-size: 1.125rem;
    font-weight: 700;
}

.income-input input,
.spending-input input {
    font-size: 1rem;
}

/* =========================================================
   TOTALS
   ========================================================= */

.totals-group h3 {
    font-size: 1rem;
}

.totals-account {
    font-size: 0.875rem;
}

.totals-amount {
    font-size: 0.95rem;
    font-weight: 700;
    white-space: nowrap;
}

.totals-empty {
    font-size: 0.875rem;
}

.totals-subtotal {
    font-weight: 700;
}

.totals-grand-label {
    font-size: 1.1rem;
    font-weight: 700;
}

.totals-grand-value {
    font-size: 1.375rem;
    font-weight: 700;
}

/* =========================================================
   GENERAL
   ========================================================= */

.empty-message {
    text-align: center;
}

footer {
    text-align: right;
}

/* =========================================================
   WELCOME SCREEN
   ========================================================= */

#welcome-screen h1 {
    font-size: 2.625rem;
}

/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .print-report-heading {
        font-size: 12pt;
        line-height: 1.2;
        white-space: nowrap;
    }

    .print-brand,
    .selected-period-label,
    .print-label,
    .print-separator {
        font-size: 12pt;
        line-height: 1.2;
        font-weight: 700;
    }

    .totals-account,
    .totals-empty {
        font-weight: 500;
    }
    
    .spending-actions {
        display: none !important;
    }

}