:root {
    --mf-bg: #f4f0e5;
    --mf-surface: #fffdf7;
    --mf-text: #233226;
    --mf-muted: #5f6c61;
    --mf-green: #2f6b3f;
    --mf-green-dark: #204a2d;
    --mf-accent: #b65d2a;
    --mf-border: #c9d0c5;
    --mf-focus: #f0a83b;
}

html { font-size: 18px; scroll-behavior: smooth; }
body { line-height: 1.65 !important; }
button, input, select, textarea, a { font-size: 1rem; }
button, .btn, .primary-btn, .header-btn, .nav-link, input[type="submit"] { min-height: 48px; }
input, select, textarea { min-height: 48px; border-width: 2px !important; }
textarea { min-height: 120px; }
:focus-visible { outline: 4px solid var(--mf-focus) !important; outline-offset: 3px; }

.mf-guide {
    position: relative;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 12px 56px 12px 18px;
    background: #fff6d8;
    color: #243126;
    border-bottom: 2px solid #d4bd78;
    font: 600 17px/1.45 system-ui, sans-serif;
}
.mf-guide a { color: #245b34; font-weight: 800; white-space: nowrap; }
.mf-guide button {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    min-width: 42px;
    min-height: 42px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #334137;
    font-size: 28px;
    cursor: pointer;
}
.mf-skip-link {
    position: fixed;
    left: 12px;
    top: -100px;
    z-index: 11000;
    padding: 12px 16px;
    background: white;
    color: black;
    border: 3px solid var(--mf-focus);
}
.mf-skip-link:focus { top: 12px; }

.mf-daily-card {
    max-width: 1180px;
    margin: 22px auto;
    padding: 24px;
    background: var(--mf-surface);
    color: var(--mf-text);
    border: 2px solid var(--mf-border);
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(35, 50, 38, .12);
}
.mf-daily-card h1, .mf-daily-card h2, .mf-daily-card h3 { color: var(--mf-green-dark); }
.mf-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.mf-action {
    display: block;
    padding: 18px;
    background: #f1f5ee;
    color: var(--mf-text);
    border: 2px solid #aebbaa;
    border-radius: 14px;
    text-decoration: none;
}
.mf-action strong { display: block; color: var(--mf-green-dark); font-size: 1.08rem; margin-bottom: 6px; }
.mf-action:hover { border-color: var(--mf-green); transform: translateY(-1px); }
.mf-safe-note { padding: 16px; border-left: 6px solid var(--mf-accent); background: #fff1e8; border-radius: 10px; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media (max-width: 760px) {
    html { font-size: 17px; }
    .mf-guide { align-items: flex-start; flex-direction: column; padding-right: 54px; }
    .mf-action-grid { grid-template-columns: 1fr; }
}


/* Единый спокойный вид для крупного текста и уверенного управления. */
body {
    font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
    background: var(--mf-bg) !important;
    color: var(--mf-text) !important;
}
body::before,
.background { display: none !important; }
.app-container { position: relative; z-index: 1; background: transparent !important; }
.main-header {
    background: #244d31 !important;
    border-bottom: 3px solid #d7bf78 !important;
    box-shadow: 0 3px 12px rgba(25, 48, 31, .22) !important;
}
.main-header .logo,
.main-header .header-btn,
.main-header .user-status,
.main-header a { color: #fff !important; }
.footer,
.main-footer {
    background: #244d31 !important;
    color: #fff !important;
}
.auth-card,
.card,
.pricing-card,
.feature-card,
.faq-item,
.special-offer,
.user-current-tariff,
.chat-form-container,
.chat-messages-container,
.report-item,
.popup {
    background: var(--mf-surface) !important;
    color: var(--mf-text) !important;
    border: 2px solid var(--mf-border) !important;
    box-shadow: 0 8px 24px rgba(35, 50, 38, .12) !important;
}
.auth-card h1,
.auth-card h2,
.auth-card h3,
.card h1,
.card h2,
.card h3,
.section-title,
.faq-title,
.chat-title,
.popup-title { color: var(--mf-green-dark) !important; }
.auth-card p,
.auth-card label,
.card p,
.card label,
.section-subtitle,
.feature-text,
.faq-answer,
.report-label,
.report-value { color: var(--mf-text) !important; }
.form-input,
.form-select,
.form-textarea,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
    background: #fff !important;
    color: #17251b !important;
    border-color: #829181 !important;
    border-radius: 10px !important;
}
::placeholder { color: #657267 !important; opacity: 1 !important; }
.btn-primary,
.primary-btn,
button[type="submit"] {
    background: var(--mf-green) !important;
    color: #fff !important;
    border: 2px solid var(--mf-green-dark) !important;
}
.btn-primary:hover,
.primary-btn:hover,
button[type="submit"]:hover { background: var(--mf-green-dark) !important; }
.btn-secondary { border: 2px solid var(--mf-green) !important; color: var(--mf-green-dark) !important; background: #fff !important; }
.message { background: #fff !important; color: var(--mf-text) !important; border: 2px solid #d4dbd1 !important; }
.message.ai-message { background: #eef6ea !important; border-color: #a9c59f !important; }
.message-text,
.message-username,
.message-username a { color: var(--mf-text) !important; }
.auth-footer,
.social-login-title,
.footer-note { color: var(--mf-muted) !important; }
.background video { display: none !important; }
.animate-fade-in-up,
.animate-in { animation-duration: .25s !important; }
@media (max-width: 760px) {
    .auth-card,
    .card,
    .pricing-card,
    .feature-card,
    .faq-item,
    .popup { border-radius: 14px !important; }
}
