/* ========== Common Utility Classes ========== */
.hidden {
    display: none !important;
}

.flex {
    display: flex;
}

/* ========== Page Header Styles ========== */
.page-header {
    text-align: center;
    padding: 1.5rem 0 2rem;
}

.page-header h1 {
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--portal-text, #64554f);
    font-family: 'Bitter', Georgia, serif;
}

.page-header p {
    color: var(--portal-text-muted, #8f8075);
    font-size: 1.1rem;
    margin-bottom: 0;
}

/* ========== Empty State Styles ========== */
.empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--portal-text-muted, #8f8075);
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.empty-state h5 {
    margin-bottom: 0.5rem;
}

/* ========== Form Styles ========== */
.form-btn {
    flex: content;
    display: flex;
    justify-content: flex-end;
}

.form-btn button {
    margin-right: 1rem;
}

.form-item {
    margin-bottom: 1.5rem;
    margin-top: 1rem;
}

.form-btn-submit {
    margin-bottom: 2%;
    text-align: center;
}

.form-save-btn {
    width: 50%;
}

.search-btn {
    margin-left: 2%;
}

/* ========== List Styles ========== */
.list-group {
    box-shadow: none;
}

/* ========== Common Responsive Styles ========== */
@media (max-width: 576px) {
    .page-header {
        padding: 1rem 0 1.5rem;
    }

    .page-header h1 {
        font-size: 1.75rem;
    }

    .form-label {
        font-size: 0.9rem;
    }
}

@media (max-width: 273px) {
    main {
        margin-top: 140px !important;
    }

    .navbar-toggler {
        width: 100%;
    }
}

