:root {
    color-scheme: light;
    --ink: #20332a;
    --muted: #56675c;
    --paper: #f5f7f2;
    --surface: #ffffff;
    --green: #286c45;
    --green-dark: #174b32;
    --brand-surface: #174b32;
    --line: #dce5dc;
    --gold: #dbad48;
    --page-start: #eef4ec;
    --page-middle: #f8f7ef;
    --page-end: #e8f0e8;
    --input-surface: #ffffff;
    --input-line: #bdcdbf;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --ink: #e8f0e9;
    --muted: #bac8bd;
    --paper: #111a14;
    --surface: #1d2a21;
    --green: #286c45;
    --green-dark: #a5d4af;
    --brand-surface: #10271a;
    --line: #3b4d40;
    --gold: #e6c46f;
    --page-start: #101a13;
    --page-middle: #162219;
    --page-end: #101a13;
    --input-surface: #17231a;
    --input-line: #53695a;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    color: var(--ink);
    background: linear-gradient(135deg, var(--page-start), var(--page-middle) 58%, var(--page-end));
    font: 16px/1.55 Georgia, "Times New Roman", serif;
}
a { color: var(--green-dark); }
a:hover { color: var(--green); }
.text-secondary, .text-muted, .form-text { color: var(--muted) !important; }
.presence-online { color: #287747; }
.presence-offline { color: var(--muted); }
:root[data-theme="dark"] .presence-online { color: #9bd5a8 !important; }
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 15px clamp(18px, 5vw, 64px);
    background: var(--brand-surface);
    color: white;
}
.brand { color: white; font-size: 1.3rem; font-weight: bold; text-decoration: none; }
.site-header nav { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.site-header nav a, .nav-logout button { color: white; font: inherit; text-decoration: none; }
.nav-logout { display: inline; }
.nav-logout button { border: 0; padding: 0; background: none; cursor: pointer; }
.page-content { width: min(1100px, 100% - 36px); min-height: 72vh; margin: 34px auto; }
.main-content, .form-section, .post-item-form, .login-container, .signup-container, .marketplace, .farm-section, .coordinates-section, .farmer-profile {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
    color: var(--ink);
}
h1, h2, h3 { line-height: 1.2; }
input, select, textarea, button { max-width: 100%; font: inherit; }
input, select, textarea { padding: 10px 12px; border: 1px solid var(--input-line); border-radius: 4px; background: var(--input-surface); color: var(--ink); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
button, .btn { display: inline-block; padding: 10px 16px; border: 0; border-radius: 4px; background: var(--green); color: white; cursor: pointer; text-decoration: none; }
button:hover, .btn:hover { background: var(--green-dark); }
.messages { width: min(1100px, 100% - 36px); margin: 18px auto; }
.message { margin: 6px 0; padding: 10px 14px; border-left: 4px solid var(--gold); background: var(--surface); color: var(--ink); }
.message.error { border-color: #b43e32; }
.message.success { border-color: var(--green); }
.product-listings, .featured-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.card { padding: 16px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); color: var(--ink); }
.site-footer { padding: 22px; color: white; background: var(--brand-surface); text-align: center; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid #d5a735;
    outline-offset: 2px;
}

html[data-theme="dark"] .page-content .card,
html[data-theme="dark"] .page-content article[class*="card"],
html[data-theme="dark"] .page-content article[class*="post"],
html[data-theme="dark"] .page-content [class$="-page"],
html[data-theme="dark"] .page-content [class$="-section"],
html[data-theme="dark"] .page-content [class$="-container"],
html[data-theme="dark"] .page-content [class*="-card"],
html[data-theme="dark"] .page-content [class*="-item"],
html[data-theme="dark"] .page-content [class*="-panel"],
html[data-theme="dark"] .page-content .main-content,
html[data-theme="dark"] .page-content .form-section,
html[data-theme="dark"] .page-content .registration-section,
html[data-theme="dark"] .page-content .edit-card,
html[data-theme="dark"] .page-content .dashboard-card,
html[data-theme="dark"] .page-content .community-post,
html[data-theme="dark"] .page-content .public-post,
html[data-theme="dark"] .page-content .timeline-post,
html[data-theme="dark"] .page-content .profile-accordion .accordion-item {
    border-color: var(--line) !important;
    background: var(--surface) !important;
    color: var(--ink) !important;
}

html[data-theme="dark"] .page-content .card :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content [class$="-page"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content [class$="-section"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content .registration-section :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content [class$="-container"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content [class*="-card"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content [class*="-item"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content [class*="-panel"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text),
html[data-theme="dark"] .page-content article[class*="post"] :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, .form-text) {
    color: var(--ink) !important;
}

html[data-theme="dark"] .page-content .card a,
html[data-theme="dark"] .page-content [class$="-page"] a,
html[data-theme="dark"] .page-content [class$="-section"] a,
html[data-theme="dark"] .page-content [class$="-container"] a,
html[data-theme="dark"] .page-content [class*="-card"] a,
html[data-theme="dark"] .page-content [class*="-item"] a,
html[data-theme="dark"] .page-content [class*="-panel"] a,
html[data-theme="dark"] .page-content article[class*="post"] a {
    color: #a9ddb4 !important;
}

html[data-theme="dark"] .page-content .badge {
    border: 1px solid rgba(216,239,219,.16);
    background-color: #344a39 !important;
    color: #f0f7f0 !important;
}

html[data-theme="dark"] .page-content .btn-light {
    border: 1px solid var(--line);
    background: #26382b !important;
    color: #edf5ed !important;
}

html[data-theme="dark"] .page-content .practice-date,
html[data-theme="dark"] .page-content .practice-disclaimer {
    border-color: var(--line) !important;
    background: #26382b !important;
    color: var(--ink) !important;
}

html[data-theme="dark"] .page-content [class*="icon"] {
    border-color: #465b49 !important;
    background-color: #2b4030 !important;
    color: #b6e2bd !important;
}

html[data-theme="dark"] .page-content :is(
    [class*="-stat"],
    [class*="-bar"],
    [class*="-chip"],
    [class*="-comment"],
    [class*="-row"],
    [class*="-value"],
    [class*="-note"],
    [class*="-insight"],
    [class*="-meta"],
    [class*="-empty"]
) {
    border-color: var(--line) !important;
    background-color: var(--surface) !important;
    color: var(--ink) !important;
}

html[data-theme="dark"] .page-content :is(
    [class*="-stat"],
    [class*="-bar"],
    [class*="-chip"],
    [class*="-comment"],
    [class*="-row"],
    [class*="-value"],
    [class*="-note"],
    [class*="-insight"],
    [class*="-meta"],
    [class*="-empty"]
) :is(h1, h2, h3, h4, p, span, small, label, strong, time, li, div, a) {
    color: var(--ink) !important;
}

html[data-theme="dark"] .page-content .control-hero :is(h1, h2, h3, h4, p, span, small, strong, div) {
    color: #fff !important;
}

html[data-theme="dark"] .page-content .btn:not(.btn-outline-success):not(.btn-outline-secondary):not(.btn-outline-danger):not(.btn-danger):not(.btn-warning):not(.btn-light):not(.btn-link) {
    border-color: #48845a;
    background-color: #286c45;
    color: #fff;
}

html[data-theme="dark"] .page-content .btn-outline-success {
    border-color: #79bd8c;
    color: #a9ddb4;
}

html[data-theme="dark"] .page-content .btn-outline-secondary {
    border-color: #829589;
    color: #d4dfd6;
}

html[data-theme="dark"] .page-content .text-secondary,
html[data-theme="dark"] .page-content .text-muted,
html[data-theme="dark"] .page-content .form-text {
    color: #bac8bd !important;
}

html[data-theme="dark"] .page-content input,
html[data-theme="dark"] .page-content select,
html[data-theme="dark"] .page-content textarea {
    border-color: var(--input-line);
    background-color: var(--input-surface);
    color: var(--ink);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (max-width: 680px) {
    .site-header { align-items: flex-start; flex-direction: column; gap: 12px; }
    .site-header nav { gap: 10px 16px; }
    .page-content { margin: 20px auto; }
}