:root {
    --dental-primary: #14B8A6;
    --dental-primary-600: #0D9488;
    --dental-primary-700: #0F766E;
    --dental-accent: #06B6D4;
    --dental-primary-subtle: #CCFBF1;
    --dental-primary-soft: #F0FDFA;
    --dental-text: #0F172A;
    --bs-primary: var(--dental-primary);
    --bs-primary-rgb: 20, 184, 166;
}

.btn-primary {
    background: linear-gradient(135deg, var(--dental-primary) 0%, var(--dental-accent) 100%);
    border-color: var(--dental-primary-600);
    color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: linear-gradient(135deg, var(--dental-primary-700) 0%, var(--dental-primary-600) 100%);
    border-color: var(--dental-primary-700);
    color: #fff;
}

.btn-outline-primary {
    color: var(--dental-primary-700);
    border-color: var(--dental-primary);
}
.btn-outline-primary:hover { background: var(--dental-primary); border-color: var(--dental-primary); color: #fff; }

a { color: var(--dental-primary-700); }
a:hover { color: var(--dental-primary-600); }

.card {
    border-radius: 0.75rem;
    border-color: rgba(15, 118, 110, 0.08);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 14px rgba(20, 184, 166, 0.07);
}
.card-header.bg-light { background: var(--dental-primary-soft) !important; border-bottom-color: rgba(15,118,110,.08); }

.navbar.navbar-static {
    background: linear-gradient(90deg, #ffffff 0%, var(--dental-primary-soft) 100%);
    border-bottom: 2px solid var(--dental-primary);
}
.navbar-brand { font-weight: 600; color: var(--dental-text); }

.sidebar .nav-sidebar .nav-link.active,
.sidebar .nav-sidebar .nav-link:hover {
    background: var(--dental-primary-subtle);
    color: var(--dental-primary-700);
}
.sidebar .nav-sidebar .nav-link.active {
    box-shadow: inset 3px 0 0 var(--dental-primary);
    font-weight: 500;
}

table.dataTable tbody tr:hover { background-color: var(--dental-primary-soft); }
table.dataTable tbody tr.selected { background-color: var(--dental-primary-subtle) !important; }

.badge.bg-primary { background-color: var(--dental-primary) !important; }
.badge.bg-success-subtle { color: var(--dental-primary-700) !important; background: var(--dental-primary-subtle) !important; }

.page-header {
    background: linear-gradient(90deg, #ffffff 0%, var(--dental-primary-soft) 100%) !important;
    border-bottom: 2px solid var(--dental-primary);
    margin-bottom: 1rem;
}
.page-header-content { padding: 1rem 1.5rem; }
.page-title {
    color: var(--dental-primary-700);
    font-weight: 600;
    letter-spacing: .01em;
}
.page-title .fw-normal { color: var(--dental-text); }
.page-title a { color: var(--dental-primary-700); text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.page-title a:hover { color: var(--dental-primary-600); }
.page-title .page-title-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--dental-primary-subtle);
    color: var(--dental-primary-700);
    font-size: .95rem;
    line-height: 1;
    transition: background .15s ease;
}
.page-title a:hover .page-title-back { background: var(--dental-primary); color: #fff; }

.form-control:focus, .form-select:focus {
    border-color: var(--dental-primary);
    box-shadow: 0 0 0 0.2rem rgba(20, 184, 166, 0.15);
}

/* Login / register card accents */
.login-container .card, body.login-container .card {
    border-top: 4px solid var(--dental-primary);
}
