:root {
    --krm-green: #1b4332;
    --krm-green-2: #2d6a4f;
    --krm-accent: #74c69d;
}

body {
    background-color: #f6f8f6;
    color: #212529;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
}

.app-navbar {
    background: linear-gradient(135deg, var(--krm-green) 0%, var(--krm-green-2) 100%);
}

.nav-avatar {
    border-radius: 50%;
    object-fit: cover;
}

.app-footer {
    background-color: #eef2ee;
    border-top: 1px solid #dee5de;
}

.disclaimer {
    border-left: 4px solid var(--krm-accent);
}

.hero {
    background: radial-gradient(circle at top, #eaf6ee 0%, transparent 70%);
}

.hero h1 {
    color: var(--krm-green);
}

.module-card {
    transition: transform .12s ease, box-shadow .12s ease;
}

.module-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 .5rem 1rem rgba(27, 67, 50, .12) !important;
}

.module-icon {
    font-size: 2.6rem;
    color: var(--krm-green-2);
}

.progress-badges .badge {
    display: inline-block;
    margin-right: .25rem;
}

.symptom-radio .btn {
    min-width: 42px;
}

.message-thread {
    background-color: #fff;
}

.message-bubble {
    word-break: break-word;
}

.forum-body {
    white-space: pre-wrap;
}

.pre-line {
    white-space: pre-line;
}

.pre-wrap {
    white-space: pre-wrap;
    word-break: break-word;
    margin-bottom: 0;
}

.font-monospace {
    font-family: SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
}

.shadow-sm {
    box-shadow: 0 .125rem .35rem rgba(0, 0, 0, .06) !important;
}

.page-admin .card .card-header {
    border-bottom: 1px solid #eef1ee;
}

@media (max-width: 575.98px) {
    .message-bubble { max-width: 92% !important; }
}
