:root {
    --amacca-page-bg: #e3e6dd;
    --amacca-primary: #709a4e;
    --amacca-primary-hover: #5d833f;
    --amacca-primary-dark: #385828;
    --amacca-primary-soft: #dce8d2;
    --amacca-surface: #ffffff;
    --amacca-surface-soft: #f4f6f1;
    --amacca-border: #c8d0c2;
    --amacca-text: #1d281a;
    --amacca-muted: #596354;
    --amacca-shadow: 0 10px 28px rgba(40, 66, 31, 0.12);
    --green: var(--amacca-primary);
    --accent: var(--amacca-primary);
    --accent-soft: var(--amacca-primary-soft);
    --primary-green: var(--amacca-primary);
    --light-green: var(--amacca-primary-soft);
    --color-primary: var(--amacca-primary);
    --color-primary-light: var(--amacca-primary-soft);
    --light-bg: var(--amacca-page-bg);
    --color-bg-light: var(--amacca-surface-soft);
    --bg: var(--amacca-page-bg);
    --surface: var(--amacca-surface);
    --surface-strong: var(--amacca-surface-soft);
    --border: var(--amacca-border);
    --line: var(--amacca-border);
    --text: var(--amacca-text);
    --ink: var(--amacca-text);
    --muted: var(--amacca-muted);
}

body { background: var(--amacca-page-bg) !important; color: var(--amacca-text); }
.page { background: var(--amacca-page-bg) !important; }

/* Consistent application navbar */
.sidebar {
    background: #fff !important;
    border-color: var(--amacca-border) !important;
    box-shadow: 4px 0 18px rgba(40, 66, 31, 0.06);
}
.sidebar .brand { border-color: var(--amacca-border) !important; }
.sidebar .brand strong { color: var(--amacca-primary-dark) !important; }
.sidebar .brand small { color: var(--amacca-muted) !important; }
.sidebar .nav-item { color: #46513f !important; }
.sidebar .nav-item:hover {
    background: var(--amacca-primary-soft) !important;
    color: var(--amacca-primary-dark) !important;
}
.sidebar .nav-item.active {
    background: var(--amacca-primary) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px rgba(46, 75, 34, 0.16);
}
.topbar {
    background: #fff !important;
    border-color: var(--amacca-border) !important;
    box-shadow: 0 4px 18px rgba(40, 66, 31, 0.06);
}
.topbar .top-action-button,.topbar .menu-toggle { color: var(--amacca-primary-dark) !important; }
.topbar .top-action-button:hover,.topbar .top-action-button[aria-expanded="true"] { background: var(--amacca-primary-soft) !important; }
.topbar .avatar-button { border-color: var(--amacca-primary) !important; }
.language-option.active { background: var(--amacca-primary-soft) !important; color: var(--amacca-primary-dark) !important; }

/* Green main container with readable white cards */
.page > .content,.page > .profile-content {
    margin-top: 91px !important;
    margin-bottom: 28px !important;
    padding: 30px !important;
    border-radius: 22px;
    background: var(--amacca-primary) !important;
    box-shadow: var(--amacca-shadow);
}
.page > .content > .intro h1,.page > .content > .intro p,
.page > .content .history-title,.page > .content .history-title-section p,
.page > .content .detail-heading h1,.page > .content .detail-heading p,.page > .content .detail-heading a,
.page > .profile-content .profile-page-heading h1,.page > .profile-content .profile-page-heading p,.page > .profile-content .profile-page-heading button { color: #fff !important; }
.card,.profile-identity,.profile-panel,.health-edit-card,.health-summary-card,.history-card,.stat-box,.scan-card {
    border-color: var(--amacca-border) !important;
    background: var(--amacca-surface) !important;
    box-shadow: 0 5px 18px rgba(41, 65, 34, 0.1) !important;
}

/* Controls, profile, charts, and forms */
.btn-primary-custom,.btn-primary,.profile-primary-button,.custom-condition-input button,.date-apply-button,.load-more-button,.btn-pill.btn-primary,.chart-period-control button.active {
    border-color: var(--amacca-primary) !important;
    background: var(--amacca-primary) !important;
    color: #fff !important;
}
.btn-primary-custom:hover,.btn-primary:hover,.profile-primary-button:hover,.custom-condition-input button:hover,.date-apply-button:hover,.load-more-button:hover,.btn-pill.btn-primary:hover {
    border-color: var(--amacca-primary-hover) !important;
    background: var(--amacca-primary-hover) !important;
}
.btn-secondary-custom,.btn-secondary,.btn-pill.btn-secondary,.chart-period-control button {
    border-color: var(--amacca-primary) !important;
    background: #fff !important;
    color: var(--amacca-primary-dark) !important;
}
.btn-secondary-custom:hover,.btn-secondary:hover,.btn-pill.btn-secondary:hover,.chart-period-control button:hover { background: var(--amacca-primary-soft) !important; }
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible { outline: 3px solid rgba(112, 154, 78, 0.3) !important; outline-offset: 2px; }
input,select,textarea { border-color: var(--amacca-border) !important; }
.health-profile-banner { border-color: var(--amacca-primary) !important; background: var(--amacca-primary-soft) !important; color: var(--amacca-primary-dark) !important; }
.health-profile-banner b,.profile-photo button,.gender-options input:checked + span { border-color: var(--amacca-primary) !important; background: var(--amacca-primary) !important; color: #fff !important; }
.condition-options input:checked + span,.custom-condition-tag,.summary-history b,.ai-recommendation-panel,.nutrition-tip {
    border-color: var(--amacca-border) !important;
    background: var(--amacca-primary-soft) !important;
    color: var(--amacca-primary-dark) !important;
}
.summary-green-line,.health-edit-card { border-color: var(--amacca-primary) !important; }
.history-toolbar { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, 0.94); }
.search-input,.date-range-button,.health-fields input,.health-fields select,.summary-metrics div { background: var(--amacca-surface-soft) !important; }
.calorie-ring { background: conic-gradient(from 240deg, var(--amacca-primary) 0 62%, var(--amacca-primary-soft) 62% 100%) !important; }
.chart-period-control button.active { background: var(--amacca-primary) !important; }
.profile-toast,.chart-tooltip { background: var(--amacca-primary-dark) !important; }
.score-badge,.status-pill,.achievement { background-color: var(--amacca-primary-soft) !important; color: var(--amacca-primary-dark) !important; }

/* Landing and authentication */
.navbar-custom {
    background: #fff !important;
    border-bottom: 1px solid var(--amacca-border);
    box-shadow: 0 4px 18px rgba(40, 66, 31, 0.1) !important;
}
.navbar-custom .navbar-brand,
.navbar-custom .navbar-brand span {
    color: var(--amacca-primary-dark) !important;
}
.navbar-custom .nav-link,
.navbar-custom .landing-language-toggle {
    color: var(--amacca-muted) !important;
}
.navbar-custom .nav-link::after { background: var(--amacca-primary) !important; }
.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus-visible,
.navbar-custom .nav-link.active,
.navbar-custom .landing-language-toggle:hover,
.navbar-custom .landing-language-toggle:focus-visible,
.navbar-custom .landing-language-toggle[aria-expanded="true"] {
    color: var(--amacca-primary-dark) !important;
}
.navbar-custom .landing-language-toggle:hover,
.navbar-custom .landing-language-toggle:focus-visible,
.navbar-custom .landing-language-toggle[aria-expanded="true"] {
    background: var(--amacca-primary-soft) !important;
}
.navbar-custom .navbar-toggler {
    border-color: var(--amacca-border) !important;
    color: var(--amacca-primary-dark) !important;
}
.navbar-custom .navbar-toggler-icon { filter: none; }
.navbar-custom .landing-auth-actions .btn-secondary-custom {
    border-color: var(--amacca-primary) !important;
    background: #fff !important;
    color: var(--amacca-primary-dark) !important;
}
.navbar-custom .landing-auth-actions .btn-secondary-custom:hover {
    background: var(--amacca-primary-soft) !important;
}
.navbar-custom .landing-auth-actions .btn-primary-custom {
    border-color: var(--amacca-primary) !important;
    background: var(--amacca-primary) !important;
    color: #fff !important;
}
.hero-section,.features-section,.how-it-works,.cta-section,.footer-custom { background-color: var(--amacca-page-bg) !important; }
.feature-card,.step-card,.cta-section { border-color: var(--amacca-border) !important; box-shadow: var(--amacca-shadow) !important; }
.text-primary-green,.feature-title,.step-number,.footer-link:hover { color: var(--amacca-primary-dark) !important; }
.footer-custom { border-top: 1px solid var(--amacca-border); }
.auth-form-section,.login-card { background: var(--amacca-page-bg) !important; }
.auth-form-section .form-container,.login-card { border: 1px solid var(--amacca-border); border-radius: 20px; background: #fff !important; box-shadow: var(--amacca-shadow); }
.auth-form-section .form-container { padding-top: 28px; padding-bottom: 28px; }
.auth-overlay { background: linear-gradient(135deg, rgba(112, 154, 78, 0.94), rgba(56, 88, 40, 0.92)) !important; }
body > main { border-radius: 20px; background: var(--amacca-primary); color: #fff; box-shadow: var(--amacca-shadow); }

/* Scan page: lighter camera workspace */
.scan-page .page > .content {
    max-width: 1280px;
    padding: 0 30px 38px !important;
    background: transparent !important;
    box-shadow: none;
}
.scan-page .scan-header-summary {
    margin-bottom: 22px;
    padding: 24px 28px;
    border: 1px solid rgba(112, 154, 78, 0.34);
    border-radius: 20px;
    background: linear-gradient(135deg, var(--amacca-primary), var(--amacca-primary-hover));
    box-shadow: var(--amacca-shadow);
}
.scan-page .scan-header-summary h1,
.scan-page .scan-header-summary p,
.scan-page.scan-preview-state .scan-header-summary h1,
.scan-page.scan-results-state .scan-header-summary h1 {
    color: #fff !important;
}
.scan-page .scan-header-summary p {
    margin-top: 8px;
    max-width: 880px;
    opacity: 0.92;
}
.scan-page .scan-preview-card {
    padding: 20px;
    border-radius: 22px;
}
.scan-page .scan-viewport {
    min-height: 0;
    padding: 12px;
    border-radius: 20px;
    background: #303832;
}
.scan-page .scan-camera-frame {
    max-width: 1080px;
    min-height: 0;
    border-radius: 17px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}
.scan-page .scan-info-grid {
    gap: 14px;
    margin-top: 20px;
}
.scan-page .info-card {
    padding: 18px;
    border-radius: 16px;
    background: var(--amacca-surface-soft);
    box-shadow: none;
}
.scan-page .info-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
}

/* History pages: keep the green accent in the header, not behind all content */
.history-page .page > .history-content,
.history-detail-page .page > .detail-content {
    max-width: 1280px;
    padding: 0 30px 38px !important;
    background: transparent !important;
    box-shadow: none;
}
.history-page .history-header,
.history-detail-page .detail-heading {
    border: 1px solid rgba(112, 154, 78, 0.34);
    background: linear-gradient(135deg, var(--amacca-primary), var(--amacca-primary-hover));
    box-shadow: var(--amacca-shadow);
}
.history-page .history-title,
.history-page .history-title-section p,
.history-detail-page .detail-heading h1,
.history-detail-page .detail-heading p,
.history-detail-page .detail-heading a {
    color: #fff !important;
}

/* Shared health score card for scan result and history detail */
.scan-page.scan-results-state .scan-score-card,
.history-detail-page .history-result-panel .scan-score-card {
    --score-color: #687266;
    --score-soft: #edf0eb;
    --score-progress: 0%;
    min-height: 290px !important;
    padding: 24px !important;
    overflow: hidden;
    border: 1px solid var(--amacca-border) !important;
    border-top: 5px solid var(--score-color) !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #fff !important;
}
.scan-page.scan-results-state .scan-score-card[data-score-tone="danger"],
.history-detail-page .history-result-panel .scan-score-card[data-score-tone="danger"] {
    --score-color: #b54e50;
    --score-soft: #f9e1e1;
}
.scan-page.scan-results-state .scan-score-card[data-score-tone="warning"],
.history-detail-page .history-result-panel .scan-score-card[data-score-tone="warning"] {
    --score-color: #b38332;
    --score-soft: #f6ecd7;
}
.scan-page.scan-results-state .scan-score-card[data-score-tone="success"],
.history-detail-page .history-result-panel .scan-score-card[data-score-tone="success"] {
    --score-color: var(--amacca-primary);
    --score-soft: var(--amacca-primary-soft);
}
.scan-page.scan-results-state .scan-score-card .score-section-label,
.history-detail-page .history-result-panel .scan-score-card .score-section-label {
    margin-bottom: 16px !important;
    color: var(--amacca-text) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 1.8px !important;
}
.scan-page.scan-results-state .scan-score-card .score-ring-wrap,
.history-detail-page .history-result-panel .scan-score-card .score-ring-wrap {
    margin-bottom: 14px !important;
}
.scan-page.scan-results-state .scan-score-card .score-ring,
.history-detail-page .history-result-panel .scan-score-card .score-ring {
    width: 132px !important;
    height: 132px !important;
    padding: 10px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: conic-gradient(var(--score-color) var(--score-progress), var(--score-soft) 0) !important;
    box-shadow: none !important;
}
.scan-page.scan-results-state .scan-score-card .score-ring::after,
.history-detail-page .history-result-panel .scan-score-card .score-ring::after {
    display: block !important;
    inset: 11px !important;
    background: #fff !important;
}
.scan-page.scan-results-state .scan-score-card .score-value,
.history-detail-page .history-result-panel .scan-score-card .score-value {
    font-size: 38px !important;
    color: var(--amacca-text) !important;
}
.scan-page.scan-results-state .scan-score-card .score-sub,
.history-detail-page .history-result-panel .scan-score-card .score-sub {
    margin-top: 5px !important;
    color: var(--amacca-muted);
    font-size: 11px !important;
}
.scan-page.scan-results-state .scan-score-card .score-note,
.history-detail-page .history-result-panel .scan-score-card .score-note {
    margin-top: 0 !important;
    color: var(--amacca-muted) !important;
    font-size: 13px !important;
    line-height: 1.4;
}
.scan-page.scan-results-state .scan-score-card .score-badge,
.history-detail-page .history-result-panel .scan-score-card .score-badge {
    min-width: 96px !important;
    margin-top: 11px !important;
    padding: 6px 15px !important;
    justify-content: center;
    background: var(--score-soft) !important;
    color: var(--score-color) !important;
    font-size: 12px !important;
}

.scan-page.scan-results-state .advice-card-inner,
.history-detail-page .history-result-panel .advice-card-inner {
    grid-template-columns: 124px minmax(0, 1fr) !important;
}
.scan-page.scan-results-state .advice-icon,
.history-detail-page .history-result-panel .advice-icon {
    width: 116px !important;
}

@media (max-width: 900px) {
    .page > .content,.page > .profile-content { margin: 78px 12px 20px !important; padding: 20px !important; border-radius: 18px; }
    .scan-page .page > .content { padding: 0 16px 28px !important; }
    .scan-page .scan-header-summary { padding: 20px; }
    .history-page .page > .history-content,
    .history-detail-page .page > .detail-content { padding: 0 16px 28px !important; }
    .scan-page.scan-results-state .advice-card-inner,
    .history-detail-page .history-result-panel .advice-card-inner {
        grid-template-columns: 92px minmax(0, 1fr) !important;
    }
    .scan-page.scan-results-state .advice-icon,
    .history-detail-page .history-result-panel .advice-icon {
        width: 86px !important;
    }
}
@media (max-width: 620px) {
    .page > .content,.page > .profile-content { margin-right: 8px !important; margin-left: 8px !important; padding: 14px !important; border-radius: 14px; }
    .history-toolbar { padding: 10px; }
    .scan-page .page > .content { padding: 0 8px 20px !important; }
    .scan-page .scan-header-summary { padding: 18px; border-radius: 16px; }
    .scan-page .scan-preview-card { padding: 8px; border-radius: 16px; }
    .scan-page .scan-viewport { padding: 6px; border-radius: 13px; }
    .history-page .page > .history-content,
    .history-detail-page .page > .detail-content { padding: 0 8px 20px !important; }
    .scan-page.scan-results-state .advice-card-inner,
    .history-detail-page .history-result-panel .advice-card-inner {
        grid-template-columns: 82px minmax(0, 1fr) !important;
    }
    .scan-page.scan-results-state .advice-icon,
    .history-detail-page .history-result-panel .advice-icon {
        width: 76px !important;
    }
}
