/* Dental Practice Color Scheme - Updated with new soft, professional colors */
:root {
    /* Primary Color - Muted Aqua */
    --primary-gradient: linear-gradient(135deg, #6BB9A1 0%, #5BA68F 100%);
    --primary-start: #6BB9A1;
    --primary-end: #5BA68F;

    /* Secondary Color - Soft Taupe */
    --secondary-gradient: linear-gradient(135deg, #D4C7BA 0%, #C7B8A8 100%);
    --secondary-start: #D4C7BA;
    --secondary-end: #C7B8A8;

    /* Success Color - Gentle Sage */
    --success-gradient: linear-gradient(135deg, #8AB49C 0%, #7BA68C 100%);
    --success-start: #8AB49C;
    --success-end: #7BA68C;

    /* Info Color - Pale Sky */
    --info-gradient: linear-gradient(135deg, #BEE5F0 0%, #A8D8E8 100%);
    --info-start: #BEE5F0;
    --info-end: #A8D8E8;

    /* Light Color - Linen White */
    --light-gradient: linear-gradient(135deg, #FBFCF8 0%, #F5F6F2 100%);
    --light-start: #FBFCF8;
    --light-end: #F5F6F2;

    /* Dark Color - Deep Slate */
    --dark-gradient: linear-gradient(135deg, #3A4750 0%, #2F3A42 100%);
    --dark-start: #3A4750;
    --dark-end: #2F3A42;

    /* Text Colors */
    --text-dark: #3A4750;
    --text-medium: #4A5A65;

    /* Warning Color - Soft Apricot */
    --warning-gradient: linear-gradient(135deg, #FDD2A0 0%, #F5C085 100%);
    --warning-start: #FDD2A0;
    --warning-end: #F5C085;

    /* Danger Color - Terracotta Rose */
    --danger-gradient: linear-gradient(135deg, #E0847F 0%, #D17570 100%);
    --danger-start: #E0847F;
    --danger-end: #D17570;

    /* Link Color - Ocean Teal */
    --link-gradient: linear-gradient(135deg, #3B7C8E 0%, #2F6B7A 100%);
    --link-start: #3B7C8E;
    --link-end: #2F6B7A;

    /* Pagination Colors - Matching Custom Theme */
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 1rem;
    --bs-pagination-color: #6BB9A1;
    --bs-pagination-bg: #FBFCF8;
    --bs-pagination-border-width: var(--bs-border-width);
    --bs-pagination-border-color: #D4C7BA;
    --bs-pagination-border-radius: 0.375rem;
    --bs-pagination-hover-color: #fff;
    --bs-pagination-hover-bg: #6BB9A1;
    --bs-pagination-hover-border-color: #6BB9A1;
    --bs-pagination-focus-color: #fff;
    --bs-pagination-focus-bg: #6BB9A1;
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(107, 185, 161, 0.25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #6BB9A1;
    --bs-pagination-active-border-color: #6BB9A1;
    --bs-pagination-disabled-color: #4A5A65;
    --bs-pagination-disabled-bg: #FBFCF8;
    --bs-pagination-disabled-border-color: #D4C7BA;
}

/* Preserve line breaks while allowing text wrapping */
.preserve-line-breaks {
    white-space: pre-line;
    line-height: 1.8;
    word-wrap: break-word;
}

.navbar-brand {
    font-weight: 600;
}

.sidebar {
    min-height: calc(100vh - 56px);
    background: var(--primary-gradient);
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.main-content {
    min-height: calc(100vh - 56px);
    background: var(--light-gradient);
    padding: 2rem;
}

.sidebar .nav-link {
    color: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 8px;
    margin-bottom: 4px;
    padding: 12px 16px;
    transition: all 0.3s ease;
    font-weight: 500;
}

.sidebar .nav-link:hover {
    color: white;
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateX(4px);
}

.sidebar .nav-link.active {
    color: white;
    background-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    font-weight: 600;
}

.sidebar .nav-link i {
    margin-right: 8px;
    width: 20px;
    text-align: center;
}

.sidebar-header {
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
    padding: 0 16px;
}

.sidebar-section {
    margin-bottom: 24px;
}

/* Primary gradient backgrounds */
.bg-primary {
    background: var(--primary-gradient);
    border: none;
    box-shadow: 0 4px 8px rgba(107, 185, 161, 0.3);
}

.bg-primary:hover {
    background: linear-gradient(135deg, #5BA68F 0%, #4A9579 100%);
}

.bg-primary:active {
    background: linear-gradient(135deg, #5BA68F 0%, #4A9579 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(107, 185, 161, 0.4);
}

.bg-primary:disabled {
    background: linear-gradient(135deg, #5BA68F 0%, #4A9579 100%);
}

.bg-success {
    background: var(--success-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(138, 180, 156, 0.3);
}

.bg-success:hover {
    background: linear-gradient(135deg, #7BA68C 0%, #6A977C 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(138, 180, 156, 0.4);
}

.bg-success:active {
    background: linear-gradient(135deg, #7BA68C 0%, #6A977C 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(138, 180, 156, 0.4);
}

.bg-success:disabled {
    background: linear-gradient(135deg, #7BA68C 0%, #6A977C 100%);
}

.bg-info {
    background: var(--info-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(190, 229, 240, 0.3);
}

.bg-info:hover {
    background: linear-gradient(135deg, #A8D8E8 0%, #96C8D8 100%);
}

.bg-info:active {
    background: linear-gradient(135deg, #A8D8E8 0%, #96C8D8 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(190, 229, 240, 0.4);
}

.bg-info:disabled {
    background: linear-gradient(135deg, #A8D8E8 0%, #96C8D8 100%);
}

.bg-warning {
    background: var(--warning-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(253, 210, 160, 0.3);
}

.bg-warning:hover {
    background: linear-gradient(135deg, #F5C085 0%, #EDB06A 100%);
}

.bg-warning:active {
    background: linear-gradient(135deg, #F5C085 0%, #EDB06A 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(253, 210, 160, 0.4);
}

.bg-warning:disabled {
    background: linear-gradient(135deg, #F5C085 0%, #EDB06A 100%);
}

.bg-danger {
    background: var(--danger-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(224, 132, 127, 0.3);
}

.bg-danger:hover {
    background: linear-gradient(135deg, #D17570 0%, #C26661 100%);
}

.bg-danger:active {
    background: linear-gradient(135deg, #D17570 0%, #C26661 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(224, 132, 127, 0.4);
}

.bg-danger:disabled {
    background: linear-gradient(135deg, #D17570 0%, #C26661 100%);
}

.bg-secondary {
    background: var(--secondary-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(212, 199, 186, 0.3);
}

.bg-secondary:hover {
    background: linear-gradient(135deg, #C7B8A8 0%, #BAA998 100%);
}

.bg-secondary:active {
    background: linear-gradient(135deg, #C7B8A8 0%, #BAA998 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(212, 199, 186, 0.4);
}

.bg-secondary:disabled {
    background: linear-gradient(135deg, #C7B8A8 0%, #BAA998 100%);
}

.bg-link {
    background: var(--link-gradient);
    border: none;
    color: white !important;
    box-shadow: 0 4px 8px rgba(59, 124, 142, 0.3);
}

.bg-link:hover {
    background: linear-gradient(135deg, #3B7C8E 0%, #316A7B 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(59, 124, 142, 0.4);
}

.bg-link:active {
    background: linear-gradient(135deg, #2F6B7A 0%, #255B6A 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(59, 124, 142, 0.4);
}

.bg-link:disabled {
    background: linear-gradient(135deg, #2F6B7A 0%, #255B6A 100%);
}

/* Primary gradient buttons */
.btn-primary {
    background: var(--primary-gradient);
    border: none;
    box-shadow: 0 4px 8px rgba(107, 185, 161, 0.3);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #5BA68F 0%, #4A9579 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(107, 185, 161, 0.4);
}

.btn-success {
    background: var(--success-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(138, 180, 156, 0.3);
}

.btn-success:hover {
    background: linear-gradient(135deg, #7BA68C 0%, #6A977C 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(138, 180, 156, 0.4);
}

.btn-danger {
    background: var(--danger-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(224, 132, 127, 0.3);
}

.btn-danger:hover {
    background: linear-gradient(135deg, #D17570 0%, #C26661 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(224, 132, 127, 0.4);
}

.btn-warning {
    background: var(--warning-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(253, 210, 160, 0.3);
}

.btn-warning:hover {
    background: linear-gradient(135deg, #F5C085 0%, #EDB06A 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(253, 210, 160, 0.4);
}

.btn-info {
    background: var(--info-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(190, 229, 240, 0.3);
}

.btn-info:hover {
    background: linear-gradient(135deg, #A8D8E8 0%, #96C8D8 100%);
    transform: translateY(-1px);
    color: var(--text-dark) !important;
    box-shadow: 0 6px 12px rgba(190, 229, 240, 0.4);
}

.btn-light {
    background: var(--light-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(251, 252, 248, 0.3);
}

.btn-light:hover {
    background: linear-gradient(135deg, #F5F6F2 0%, #EEF0EA 100%);
    transform: translateY(-1px);
    color: var(--text-dark) !important;
    box-shadow: 0 6px 12px rgba(251, 252, 248, 0.4);
}

.btn-dark {
    background: var(--dark-gradient);
    border: none;
    box-shadow: 0 4px 8px rgba(58, 71, 80, 0.3);
}

.btn-dark:hover {
    background: linear-gradient(135deg, #2F3A42 0%, #252D33 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(58, 71, 80, 0.4);
}

.btn-link {
    background: var(--link-gradient);
    border: none;
    box-shadow: none;
    color: white !important;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 500;
}

.btn-link:hover {
    background: linear-gradient(135deg, #3B7C8E 0%, #316A7B 100%);
    color: white !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(59, 124, 142, 0.4);
}

.btn-secondary {
    background: var(--secondary-gradient);
    border: none;
    color: var(--text-dark) !important;
    box-shadow: 0 4px 8px rgba(212, 199, 186, 0.3);
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #C7B8A8 0%, #BAA998 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(212, 199, 186, 0.4);
}

.btn-outline-danger {
    background: none;
    border: 1px solid var(--danger-start);
    color: var(--danger-start);
    box-shadow: none;
    transition: all 0.3s ease;
    font-weight: 500;
}

.btn-outline-danger:hover {
    background: var(--danger-gradient);
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(224, 132, 127, 0.4);
}

.btn-outline-danger:active {
    background: var(--danger-gradient);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(224, 132, 127, 0.4);
}

.btn-outline-danger:disabled {
    background: var(--danger-start);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(224, 132, 127, 0.4);
}

.btn-outline-success {
    background: none;
    border: 1px solid var(--success-start);
    color: var(--success-start);
    box-shadow: none;
    transition: all 0.3s ease;
    font-weight: 500;
}

.btn-outline-success:hover {
    background: var(--success-gradient);
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(138, 180, 156, 0.4);
}

.btn-outline-success:active {
    background: var(--success-gradient);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(138, 180, 156, 0.4);
}

.btn-outline-success:disabled {
    background: var(--success-start);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(138, 180, 156, 0.4);
}

/* Card headers with gradient */
.card-header {
    background: var(--primary-gradient);
    color: white;
    border: none;
}

/* Badge styles with proper text colors */
.badge.bg-info {
    background: var(--info-gradient) !important;
    color: var(--text-dark) !important;
    border: none;
    box-shadow: 0 4px 8px rgba(190, 229, 240, 0.3);
}

.badge.bg-primary {
    background: var(--primary-gradient) !important;
    color: white !important;
    border: none;
    box-shadow: 0 4px 8px rgba(107, 185, 161, 0.3);
}

.badge.bg-success {
    background: var(--success-gradient) !important;
    color: white !important;
    border: none;
    box-shadow: 0 4px 8px rgba(138, 180, 156, 0.3);
}

.badge.bg-danger {
    background: var(--danger-gradient) !important;
    color: white !important;
    border: none;
    box-shadow: 0 4px 8px rgba(224, 132, 127, 0.3);
}

.badge.bg-warning {
    background: var(--warning-gradient) !important;
    color: var(--text-dark) !important;
    border: none;
    box-shadow: 0 4px 8px rgba(253, 210, 160, 0.3);
}

.badge.bg-secondary {
    background: var(--secondary-gradient) !important;
    color: var(--text-dark) !important;
    border: none;
    box-shadow: 0 4px 8px rgba(212, 199, 186, 0.3);
}

/* Alert variations with gradients */
.alert-success {
    background: linear-gradient(135deg, rgba(138, 180, 156, 0.1) 0%, rgba(123, 166, 140, 0.1) 100%);
    border: 1px solid rgba(138, 180, 156, 0.3);
    color: #6A977C;
}

.alert-danger {
    background: linear-gradient(135deg, rgba(224, 132, 127, 0.1) 0%, rgba(209, 117, 112, 0.1) 100%);
    border: 1px solid rgba(224, 132, 127, 0.3);
    color: #C26661;
}

/* Form focus states */
.form-control:focus {
    border-color: var(--primary-start);
    box-shadow: 0 0 0 0.2rem rgba(107, 185, 161, 0.25);
}

/* Custom Pagination Styles - Override Bootstrap defaults */
.pagination .page-link,
.pagination .page-link:link,
.pagination .page-link:visited {
    background-color: #FBFCF8 !important;
    border-color: #D4C7BA !important;
    color: #6BB9A1 !important;
    transition: all 0.3s ease;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    background: linear-gradient(135deg, #6BB9A1 0%, #5BA68F 100%) !important;
    border-color: #6BB9A1 !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(107, 185, 161, 0.3) !important;
}

.pagination .page-link:focus {
    box-shadow: 0 0 0 0.25rem rgba(107, 185, 161, 0.25) !important;
    outline: none;
}

.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:link,
.pagination .page-item.active .page-link:visited {
    background: linear-gradient(135deg, #6BB9A1 0%, #5BA68F 100%) !important;
    border-color: #6BB9A1 !important;
    color: #fff !important;
    box-shadow: 0 4px 8px rgba(107, 185, 161, 0.3) !important;
}

.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus {
    background: linear-gradient(135deg, #5BA68F 0%, #4A9579 100%) !important;
    border-color: #5BA68F !important;
    box-shadow: 0 6px 12px rgba(107, 185, 161, 0.4) !important;
}

.pagination .page-item.disabled .page-link,
.pagination .page-item.disabled .page-link:link,
.pagination .page-item.disabled .page-link:visited,
.pagination .page-item.disabled .page-link:hover,
.pagination .page-item.disabled .page-link:focus {
    background-color: #FBFCF8 !important;
    border-color: #D4C7BA !important;
    color: #4A5A65 !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

/* Responsive sidebar - Hide on mobile and tablets, show on desktop */
@media (max-width: 991.98px) {
    .sidebar {
        display: none;
    }

    .main-content {
        padding: 1rem;
    }
}
