:root {
    --primary: #2e8b57;
    --primary-dark: #256f46;
    --primary-light: #cfe8d7;
    --primary-soft: #f2fbf5;
    --secondary: #1f6b5c;
    --secondary-dark: #174f45;
    --secondary-light: #e4f2ee;
    --accent: #d68b2d;
    --accent-light: #fff1d8;
    --neutral-dark: #163129;
    --neutral-gray: #667a72;
    --neutral-light: #d8e4dc;
    --neutral-soft: #f7fbf8;
    --info: #2b7a78;
    --dark-color: var(--neutral-dark);
    --light-bg: #f4faf6;
    --white: #ffffff;
    --border: #dce7df;
    --text-muted: #728379;
    --sidebar-from: #17392f;
    --sidebar-to: #215444;
    --ui-primary: var(--primary);
    --ui-primary-dark: var(--primary-dark);
    --ui-secondary: var(--secondary);
    --ui-ink: var(--neutral-dark);
    --ui-muted: var(--neutral-gray);
    --ui-glow: 0 20px 40px rgba(22, 49, 41, 0.08);
    --success-bg: #e8f7ed;
    --success-text: #1d6a37;
    --warning-bg: #fff7df;
    --warning-text: #8a6420;
    --pest-green: #1d6a37;
    --pest-green-bg: #edf8f0;
    --pest-green-border: #bfe0c9;
}

body {
    background: var(--light-bg) !important;
    color: var(--neutral-dark) !important;
}

.logo-link,
.logo-link *,
.footer-section a {
    text-decoration: none !important;
}

.navbar {
    gap: 1.25rem;
}

.logo-section {
    flex: 0 0 auto;
}

.logo-link {
    display: inline-flex !important;
    align-items: center;
    min-width: fit-content;
}

.logo-container {
    gap: 0.9rem !important;
    flex-wrap: nowrap !important;
}

.logo-text {
    flex: 0 0 auto;
    min-width: max-content;
}

.logo-main {
    display: inline-block !important;
    color: var(--primary-dark) !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: currentColor !important;
    background-clip: border-box !important;
    white-space: nowrap;
    line-height: 1.05 !important;
}

.logo-tagline {
    white-space: nowrap;
    letter-spacing: 0.08em !important;
}

.logo-link:hover .logo-main {
    color: var(--primary) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

.nav-menu {
    flex-wrap: nowrap;
    justify-content: flex-end;
    flex: 1 1 auto;
}

.nav-menu a {
    white-space: nowrap;
}

.user-name {
    min-width: fit-content;
    gap: 0.85rem !important;
}

.user-info {
    min-width: 0;
}

.user-info span:first-child,
.user-info span:last-child {
    white-space: nowrap;
}

.main-header {
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom: 1px solid rgba(46, 139, 87, 0.12) !important;
}

.hero {
    background: linear-gradient(135deg, #f2fbf5 0%, #e6f7ef 55%, #f7fbf8 100%) !important;
}

.hero::before {
    opacity: 0.92;
}

.sidebar,
.sidebar-header,
.sidebar-footer {
    background: linear-gradient(180deg, var(--sidebar-from) 0%, var(--sidebar-to) 100%) !important;
}

.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: rgba(255, 255, 255, 0.14) !important;
}

.sidebar-menu a,
.sidebar-header h2,
.sidebar-header p,
.user-profile,
.sidebar-footer {
    color: #ffffff !important;
}

.btn-primary,
.btn-search,
.btn-view,
.service-action,
.modal-btn-confirm,
.btn-submit,
.send,
.map-confirm-btn,
.provider-btn,
.btn-view-details,
.btn-pay-now,
.vd-btn-accept,
.btn-accept {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 10px 20px rgba(46, 139, 87, 0.16) !important;
}

.btn-primary:hover,
.btn-search:hover,
.btn-view:hover,
.service-action:hover,
.modal-btn-confirm:hover,
.btn-submit:hover,
.send:hover,
.map-confirm-btn:hover,
.provider-btn:hover,
.btn-view-details:hover,
.btn-pay-now:hover,
.vd-btn-accept:hover,
.btn-accept:hover {
    background: linear-gradient(135deg, var(--primary-dark), var(--secondary-dark)) !important;
}

.btn-outline,
.btn-secondary,
.btn-reset,
.btn-contact,
.back-home,
.guide-dismiss-btn,
.vd-btn-close,
.modal-btn-cancel,
.btn-back-form,
.map-cancel-btn,
.btn-cancel-req,
.vd-btn-decline,
.btn-danger {
    background: #ffffff !important;
    color: var(--neutral-dark) !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
}

.page-tabs {
    border-bottom: 1px solid var(--border) !important;
}

.page-tab {
    color: var(--neutral-gray) !important;
}

.page-tab:hover,
.page-tab.active {
    color: var(--primary) !important;
    border-bottom-color: var(--primary) !important;
}

.page-tab-count {
    background: #edf4ef !important;
    color: var(--primary) !important;
}

.page-tab.active .page-tab-count {
    background: var(--primary) !important;
    color: #ffffff !important;
}

.notif-tab-badge,
.notif-unread-dot {
    background: #c2410c !important;
}

.status-filter {
    background: #ffffff !important;
    border-color: var(--border) !important;
    color: var(--neutral-dark) !important;
}

.status-filter:hover,
.status-filter.active {
    background: #edf8f0 !important;
    color: var(--primary) !important;
    border-color: var(--primary-light) !important;
}

.status-count {
    background: #edf4ef !important;
    color: var(--primary) !important;
}

.status-filter:hover .status-count,
.status-filter.active .status-count {
    background: var(--primary) !important;
    color: #ffffff !important;
}

.notif-item.unread {
    border-color: var(--primary-light) !important;
    background: linear-gradient(135deg, #eef7f0, #ffffff) !important;
}

.notif-icon.message {
    background: #e8f3ee !important;
    color: var(--secondary) !important;
}

.notif-icon.accepted {
    background: #e8f7ed !important;
    color: #1d6a37 !important;
}

.notif-icon.cancelled {
    background: #fff1eb !important;
    color: #c2410c !important;
}

.filters-section,
.content-card,
.content-section,
.section-card,
.card,
.stat-card,
.mini-stat,
.service-card,
.provider-card,
.review-item,
.modal-box,
.accept-box,
.viewdetails-box,
.messenger,
.search-box,
.rating-breakdown,
.contract-preview-box,
.terms-scroll-box {
    border: 1px solid var(--border) !important;
    box-shadow: 0 12px 34px rgba(15, 40, 32, 0.06) !important;
}

.page-header h1,
.page-title,
.section-title,
.card-title,
.welcome-message h1,
.page-head h1,
.page-header-left h1,
.stat-info h3,
.mini-stat-info h3,
.provider-card h3,
.service-name,
.service-title,
.modal-title,
.accept-title,
.conv-top,
.chat-name,
.conv-name {
    color: var(--neutral-dark) !important;
}

.page-header p,
.page-subtitle,
.results-count,
.filter-title,
.about-text,
.info-value,
.service-desc,
.provider-description,
.stat-info p,
.mini-stat-info p,
.review-text,
.service-price-type,
.conv-preview,
.chat-status,
.empty,
.empty-state,
.modal-message,
.avail-form-subtitle {
    color: var(--neutral-gray) !important;
}

.provider-header,
.provider-hero,
.map-pickee-header,
.vd-header,
.chat-avatar,
.conv-avatar,
.av.them,
.av,
.stat-icon.blue,
.mini-stat-icon.blue,
.vd-info-icon.blue {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    color: #ffffff !important;
}

.stat-icon.green,
.mini-stat-icon.green,
.vd-info-icon.green {
    background: linear-gradient(135deg, #2f9e5d, #1d6a37) !important;
    color: #ffffff !important;
}

.stat-icon.orange,
.mini-stat-icon.orange,
.vd-info-icon.orange {
    background: linear-gradient(135deg, var(--accent), #b7741f) !important;
    color: #ffffff !important;
}

.stat-icon.purple,
.mini-stat-icon.purple,
.vd-info-icon.purple,
.vd-info-icon.teal {
    background: linear-gradient(135deg, var(--secondary), var(--secondary-dark)) !important;
    color: #ffffff !important;
}

.badge,
.unread,
.notif-tab-count,
.sidebar-notif-badge,
.provider-service-badge,
.settings-pill,
.review-service-tag {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

.conv-item.active {
    border-left-color: var(--primary) !important;
    background: #eaf6ef !important;
}

.chat-header,
.conv-list,
.chat-input,
.conv-search input,
.chat-input textarea,
.back-home {
    background: #f7fbf8 !important;
}

.chat-messages {
    background: #eef5f0 !important;
}

.bubble.me {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
}

.bubble.them {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    color: var(--neutral-dark) !important;
}

input,
select,
textarea,
.form-control,
.search-input,
.location-input,
.filter-item input,
.filter-item select,
.setting-item input[type="number"],
.setting-item input[type="time"] {
    border-color: var(--border) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.search-input:focus,
.location-input:focus,
.filter-item input:focus,
.filter-item select:focus,
.setting-item input[type="number"]:focus,
.setting-item input[type="time"]:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(46, 139, 87, 0.12) !important;
}

.back-link,
.vd-map-link,
.breakdown-toggle,
.card-title i,
.section-title i,
.detail-item i,
.info-item i,
.provider-actions a i,
.service-price,
.modal-service-name,
.cal-day.today {
    color: var(--primary) !important;
}

.section-header,
.card-header,
.modal-head,
.modal-foot,
.vd-footer,
.requests-table th,
thead th {
    border-color: var(--border) !important;
}

.section-header,
.card-header,
.modal-head,
.chat-header,
.conv-top {
    background: #f8fcf9 !important;
}

.requests-table th,
thead th {
    background: #f6faf7 !important;
    color: var(--neutral-dark) !important;
}

.requests-table tr:hover,
tbody tr:hover,
.provider-card:hover,
.service-card:hover,
.stat-card:hover,
.mini-stat:hover {
    background: #f8fcf9 !important;
    border-color: var(--primary-light) !important;
}

.status-pending,
.alert-warning,
.pending-notice {
    background: var(--warning-bg) !important;
    color: var(--warning-text) !important;
}

.alert-success,
.success-banner {
    background: var(--success-bg) !important;
    color: var(--success-text) !important;
    border-color: #bfe0c9 !important;
}

.info-banner,
.toast-status,
.source-availed {
    background: #edf8f0 !important;
    color: var(--secondary-dark) !important;
    border-color: #bfe0c9 !important;
}

.provider-logo-large,
.provider-avatar,
.user-avatar {
    color: var(--primary) !important;
}

.provider-rating .stars,
.stars-inline i,
.review-rating,
.rating-stars,
.rating-item .rating-stars {
    color: var(--accent) !important;
}

.provider-header-sub,
.hero-stat-label,
.rating-meta,
.review-date,
.map-selected-label,
.view-label,
.vd-info-label,
.vd-section-label,
.breakdown-title,
.breakdown-label,
.conv-time,
.time,
.date {
    color: var(--neutral-gray) !important;
}

.info-item,
.review-item,
.cal-header button,
.vd-section-label::after {
    border-color: var(--border) !important;
}

.vd-status-pill,
.status-badge,
.price-badge,
.pesticide-badge {
    border: 1px solid transparent !important;
}

.provider-details-page .container,
.providers-container,
.services-container,
.main-content,
.page,
.container {
    color: var(--neutral-dark);
}

@media (max-width: 1200px) {
    .navbar {
        gap: 0.85rem;
    }

    .nav-menu {
        gap: 0.5rem !important;
    }

    .nav-menu a {
        padding: 0.7rem 0.95rem !important;
        font-size: 0.94rem;
    }

    .logo-main {
        font-size: 1.55rem !important;
    }
}

.page-head,
.requests-header,
.page-header,
.vd-header,
.setup-header,
.forgot-header,
.reset-header,
.provider-hero,
.calendar-header {
    background: linear-gradient(135deg, #f2fbf5 0%, #e6f4ec 100%) !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(15, 40, 32, 0.06) !important;
}

.page-head,
.requests-header,
.page-header,
.vd-header,
.setup-header,
.forgot-header,
.reset-header,
.calendar-header {
    padding: 1.5rem !important;
}

.page-head h1,
.page-title,
.requests-header h1,
.page-header h1,
.vd-header h1,
.setup-header h1,
.forgot-header h1,
.reset-header h1,
.provider-hero h1,
.calendar-header h2 {
    color: var(--neutral-dark) !important;
}

.page-head p,
.requests-header p,
.page-header p,
.setup-header p,
.forgot-header p,
.reset-header p,
.provider-hero p,
.calendar-header p,
.page-subtitle {
    color: var(--neutral-gray) !important;
}

.vd-header,
.notif-header,
.availed-section-header,
.map-pickee-header,
.booking-ctrl-strip,
.notif-ctrl-card {
    background: linear-gradient(135deg, var(--secondary-dark), var(--secondary)) !important;
    color: #ffffff !important;
}

.vd-header *,
.notif-header *,
.availed-section-header *,
.map-pickee-header *,
.booking-ctrl-strip *,
.notif-ctrl-card * {
    color: inherit !important;
}

.booking-ctrl-strip-icon,
.notif-ctrl-icon {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #f6d38b !important;
}

.booking-ctrl-strip-label,
.notif-ctrl-label {
    color: #cde8dd !important;
}

.booking-ctrl-strip-note,
.notif-ctrl-note {
    color: rgba(255, 255, 255, 0.76) !important;
}

.booking-ctrl-copy-btn,
.notif-ctrl-copy {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

.booking-ctrl-copy-btn:hover,
.notif-ctrl-copy:hover {
    background: rgba(255, 255, 255, 0.18) !important;
}

.monitoring-panel {
    background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%) !important;
    border-color: var(--border) !important;
}

.monitoring-head,
.monitoring-meta,
.monitoring-timeline {
    border-color: var(--border) !important;
}

.monitoring-status {
    background: #edf8f0 !important;
    color: var(--primary-dark) !important;
}

.monitoring-pill {
    background: #f7fbf8 !important;
    border-color: var(--border) !important;
    color: var(--neutral-dark) !important;
}

.monitoring-dot {
    background: #e8f4ed !important;
    color: var(--primary) !important;
}

.reschedule-strip,
.location-picker-card {
    background: linear-gradient(135deg, #eef8f2, #ffffff) !important;
    border-color: var(--primary-light) !important;
}

.reschedule-strip-icon,
.setup-header .icon,
.location-picker-head .icon {
    background: rgba(46, 139, 87, 0.12) !important;
    color: var(--primary) !important;
}

.reschedule-strip-body strong,
.location-picker-head h5 {
    color: var(--neutral-dark) !important;
}

.reschedule-strip-body span,
.location-picker-head p {
    color: var(--neutral-gray) !important;
}

.geo-check-wrap,
.settings-preview,
.provider-fields {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
}

.payment-option-label,
.user-type-option,
.service-form,
.result-card {
    border-color: var(--border) !important;
    box-shadow: 0 12px 30px rgba(15, 40, 32, 0.06) !important;
}

.payment-option-label i,
.user-type-icon,
.percentage-display,
.upload-icon {
    color: var(--primary) !important;
}

.payment-option input[type="radio"]:checked + .payment-option-label,
.user-type-option.selected {
    border-color: var(--primary) !important;
    background: #edf8f0 !important;
}

.btn-geo,
.btn-map-clear {
    border-radius: 10px !important;
}

.btn-geo {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    color: #ffffff !important;
}

.btn-geo:hover {
    background: linear-gradient(135deg, var(--primary-dark), var(--secondary-dark)) !important;
}

.btn-map-clear {
    background: #ffffff !important;
    color: var(--neutral-dark) !important;
    border: 1px solid var(--border) !important;
}

.messenger {
    border-color: var(--border) !important;
    background: #f7fbf8 !important;
}

.conv-list,
.conv-top,
.conv-search,
.chat-input,
.chat-header {
    background: #f8fcf9 !important;
    border-color: var(--border) !important;
}

.conv-item:hover,
.conv-item.active {
    background: #eaf6ef !important;
}

.conv-item.active {
    border-left-color: var(--primary) !important;
}

.conv-avatar,
.av.them {
    background: linear-gradient(135deg, var(--secondary), var(--primary)) !important;
    color: #ffffff !important;
}

.page-head,
.page-head-left {
    gap: 1rem;
}

.back-home {
    border-color: var(--border) !important;
    color: var(--neutral-dark) !important;
}

.back-home:hover {
    background: #edf8f0 !important;
    color: var(--primary) !important;
}
