/* Error highlighting for grouping sections */
.grouping-section.grouping-error {
    background-color: #fff5f5; /* Light red background */
    border: 1px solid #dc3545;
    border-radius: 8px;
    padding: 1rem;
}

.grouping-section.grouping-error .grouping-header {
    color: #dc3545;
}

/* Inline error message */
.grouping-error-message {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    font-weight: 500;
}

/* Edited highlighting for grouping sections */
.grouping-section.grouping-edited {
    background-color: #fbffe9; /* var(--primary-light) */
    border: 1px solid #e8f8b0; /* var(--color-sage) */
    border-radius: 8px;
    padding: 1rem;
}

/* Week Changed Highlighting */
.week-changed {
    background-color: #f0fdf4; /* Light green background */
    border: 2px solid #22c55e; /* Green border */
    border-radius: 8px;
    padding: 1rem;
    transition: all 0.3s ease;
}

/* Elegant Issue Display */
.issue-alert {
    border-left: 4px solid #ffc107;
    background-color: #fff3cd;
    color: #856404;
    padding: 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.issue-alert-icon {
    font-size: 1.25rem;
}

.issue-alert-content {
    flex: 1;
}

.issue-alert-title {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.issue-alert-message {
    font-size: 0.9rem;
}


/* Ensure the sticky footer doesn't overlap the last content too much if scrolled to bottom */
.modal-body {
    padding-bottom: 0; /* We'll let the sticky footer handle the bottom spacing */
}

/* Adjust the sticky footer to sit nicely */
.pending-changes-sticky .fw-semibold {
    color: #0d6efd;
}

.pending-changes-sticky ul {
    margin-bottom: 0;
    padding-left: 1.2rem;
}

/* Was: X indicator */
.qty-was-indicator {
    font-size: 0.75rem;
    color: #6c757d;
    margin-top: 0.2rem;
    white-space: nowrap;
    min-height: 1.2em; /* Reserve space to prevent jumping */
}
