:root {
    --accent: #3b7a8f;
    --accent-dark: #2c5c6c;
    --bg-page: #f7f9fa;
    --bg-card: #ffffff;
    --border-light: #e2e8ea;
    --text-main: #23343a;
    --text-muted: #6b7d82;
}

html {
    font-size: 18px;
}

body {
    background-color: var(--bg-page);
    color: var(--text-main);
    line-height: 1.6;
}

.navbar {
    background-color: var(--bg-card);
    border-bottom: 1px solid var(--border-light);
}

.navbar-brand {
    font-weight: 600;
    color: var(--accent-dark) !important;
}

.nav-link {
    color: var(--text-main) !important;
    font-size: 1rem;
}

.nav-link.active {
    color: var(--accent-dark) !important;
    font-weight: 600;
}

.card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: 10px;
}

.btn-primary {
    background-color: var(--accent);
    border-color: var(--accent);
}

.btn-primary:hover, .btn-primary:focus {
    background-color: var(--accent-dark);
    border-color: var(--accent-dark);
}

.btn-outline-primary {
    color: var(--accent);
    border-color: var(--accent);
}

.btn-outline-primary:hover {
    background-color: var(--accent);
    border-color: var(--accent);
}

a {
    color: var(--accent-dark);
}

.text-muted {
    color: var(--text-muted) !important;
}

.badge-condition-active { background-color: #d9edf2; color: var(--accent-dark); }
.badge-condition-monitoring { background-color: #fdf3d9; color: #8a6d1f; }
.badge-condition-resolved { background-color: #e6e6e6; color: #555; }

.page-title {
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.family-switch-card {
    cursor: pointer;
    transition: box-shadow 0.15s ease;
}
.family-switch-card:hover {
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.family-switch-card.active {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent) inset;
}

@media print {
    .no-print { display: none !important; }
    body { background: white; }
    .card { border: none; }
}
