/* UI Improvements CSS - Consistent styling across the portal */

/* =============================================================================
   Notification Spacing Fix - Prevent header overlap
   ============================================================================= */

.page-container {
    padding-top: 2rem !important;
}

/* Ensure alerts have proper spacing */
.alert:first-child {
    margin-top: 0.5rem;
}

/* =============================================================================
   Section Headers - Consistent font sizes and spacing
   ============================================================================= */

/* Main page headers */
h1.page-header, 
.page-title h1,
.content-header h1 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: #2c3e50;
}

/* Section headers */
h2.section-header,
.section-title h2,
.card-header h2 {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 1rem;
    color: #34495e;
}

/* Subsection headers */
h3.subsection-header,
.subsection-title h3,
.card-header h3 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
    color: #34495e;
}

/* Card headers specific styling */
.card-header {
    padding: 1rem 1.25rem;
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.card-header h2,
.card-header h3,
.card-header h4 {
    margin-bottom: 0;
}

/* =============================================================================
   Buttons - Consistent styling
   ============================================================================= */

.btn {
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
    font-weight: 500;
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
}

.btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
}

.btn-lg {
    padding: 0.625rem 1.25rem;
    font-size: 1.1rem;
}

/* Button styles now handled by color-system.css - keeping only special cases */

/* Note: Primary button colors and all outline button styles are now
   defined in color-system.css for ADA compliance. This section is kept
   for any special button behavior overrides if needed in the future. */

/* =============================================================================
   Status Badges - Remove colors, use plain text
   ============================================================================= */

.badge.status-badge,
.status-indicator {
    background-color: transparent !important;
    color: #495057 !important;
    border: none !important;
    padding: 0;
    font-weight: normal;
    font-size: inherit;
}

/* =============================================================================
   Tables - Consistent alignment
   ============================================================================= */

/* Action column alignment */
.table td.actions-column,
.table th.actions-column {
    text-align: center;
    white-space: nowrap;
}

.table td.actions-column .btn,
.table td.actions-column a {
    margin: 0 0.125rem;
}

/* Ensure action buttons stay aligned even with single action */
.table td.actions-column {
    min-width: 100px;
}

/* =============================================================================
   Currency Display - Add comma formatting via CSS class
   ============================================================================= */

.currency-amount::before {
    content: "$";
}

/* =============================================================================
   Date Display - Consistent formatting
   ============================================================================= */

.date-display {
    white-space: nowrap;
}

/* =============================================================================
   Account Summary Specific
   ============================================================================= */

/* Larger font for Account Summary header */
.account-summary-header {
    font-size: 2.25rem !important;
    font-weight: 600;
    margin-bottom: 2rem;
}

/* Fix spacing under main header */
.account-summary-container {
    padding-top: 1.5rem;
}

/* =============================================================================
   Payment Pages Specific
   ============================================================================= */

/* Yellow payment note box - left justify */
.alert.payment-note,
.payment-notification {
    text-align: left !important;
}

/* Remove dollar sign from section titles */
.payment-section-title::before {
    content: "" !important;
}

/* =============================================================================
   Invoice View Specific
   ============================================================================= */

/* Traditional address format */
.invoice-address {
    line-height: 1.6;
}

.invoice-address br {
    display: block;
    margin: 0;
}

/* Reduce spacing in Bill To and Ship To */
.invoice-bill-to,
.invoice-ship-to {
    line-height: 1.4;
}

/* Floating payment button */
.floating-payment-button {
    position: sticky;
    top: 20px;
    z-index: 100;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* =============================================================================
   Form Improvements
   ============================================================================= */

/* Consistent form spacing */
.form-group,
.mb-3 {
    margin-bottom: 1rem;
}

.form-label {
    font-weight: 500;
    margin-bottom: 0.5rem;
}

/* =============================================================================
   Utility Classes
   ============================================================================= */

/* Remove hashtag from invoice numbers */
.invoice-number::before {
    content: "" !important;
}

/* Site ID labeling */
.site-id-label::after {
    content: " (Site ID)";
    font-size: 0.875em;
    color: #6c757d;
}