:root {
    --primary-color: #12613F;
    --primary-hover: #084B32;
    --primary-deep: #052E22;
    --primary-soft: #DDF2E4;
    --primary-softest: #F0FAF3;
    --secondary-color: #E0A62E;
    --secondary-hover: #BE7F16;
    --success-color: #218255;
    --success-soft: #DDF2E4;
    --success-dark: #0B5136;
    --bg-main: #EDF8F0;
    --text-main: #14241C;
    --accent-color: #E66A45;
    --accent-hover: #CB4F31;
    --accent-soft: #FDE8E0;
    --card-border: #CFE8D7;
}

body {
    background:
        radial-gradient(circle at 7% 4%, rgba(74, 222, 128, 0.13), transparent 25rem),
        radial-gradient(circle at 95% 12%, rgba(230, 106, 69, 0.08), transparent 22rem),
        linear-gradient(180deg, #F5FCF6 0%, var(--bg-main) 55%, #F8FCF9 100%) !important;
    color: var(--text-main) !important;
    font-family: 'Inter', sans-serif !important;
    min-height: 100vh;
}

::selection {
    background: rgba(224, 166, 46, 0.35);
    color: var(--primary-deep);
}

nav.bg-green-900,
header.bg-green-900 {
    background: linear-gradient(115deg, var(--primary-deep) 0%, #0B5E3C 58%, #16844A 100%) !important;
    border-color: rgba(187, 247, 208, 0.2) !important;
    box-shadow: 0 10px 28px rgba(5, 46, 34, 0.18);
}

main .bg-white {
    border-color: var(--card-border);
}

.dashboard-card {
    background: #FFFFFF;
    border: 1px solid var(--card-border);
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.btn-primary {
    background-color: var(--primary-color);
    color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
}

.btn-accent {
    background: linear-gradient(135deg, var(--accent-color) 0%, #E39A2D 100%) !important;
    border-color: transparent !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px rgba(207, 79, 49, 0.2) !important;
}

.btn-accent:hover {
    background: linear-gradient(135deg, var(--accent-hover) 0%, var(--secondary-hover) 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(207, 79, 49, 0.26) !important;
}

.profit-text {
    color: var(--success-color) !important;
}

.active-tab,
.active-mode {
    color: var(--primary-color) !important;
}

.text-green-100 {
    color: #F7E8BF !important;
}

.text-green-200 {
    color: #EED589 !important;
}

.text-green-300 {
    color: #E3BF5F !important;
}

.text-green-400 {
    color: #D7A536 !important;
}

.text-green-500,
.hover\:text-green-500:hover {
    color: #2F745E !important;
}

.text-green-600,
.hover\:text-green-600:hover {
    color: var(--primary-color) !important;
}

.text-green-700,
.hover\:text-green-700:hover {
    color: var(--primary-hover) !important;
}

.text-green-800 {
    color: #10372B !important;
}

.bg-green-50,
.hover\:bg-green-50:hover {
    background-color: var(--primary-softest) !important;
}

.bg-green-100,
.hover\:bg-green-100:hover {
    background-color: var(--primary-soft) !important;
}

.bg-green-200,
.hover\:bg-green-200:hover {
    background-color: #BFD8CA !important;
}

.bg-green-400 {
    background-color: #D7A536 !important;
}

.bg-green-500 {
    background-color: #2F745E !important;
}

.bg-green-600,
.hover\:bg-green-600:hover {
    background-color: var(--primary-color) !important;
}

.bg-green-700,
.hover\:bg-green-700:hover {
    background-color: var(--primary-hover) !important;
}

.bg-green-900 {
    background-color: var(--primary-deep) !important;
}

.bg-gray-900 {
    background-color: var(--primary-deep) !important;
}

.hover\:bg-black:hover,
.hover\:bg-gray-800:hover {
    background-color: #031F17 !important;
}

nav.bg-green-900 .text-green-800 {
    color: #FFFFFF !important;
}

.bg-amber-400 {
    background-color: var(--secondary-color) !important;
}

.hover\:bg-amber-300:hover {
    background-color: #E3BF5F !important;
}

.text-amber-300 {
    color: #EED589 !important;
}

.text-amber-400 {
    color: var(--secondary-color) !important;
}

.border-green-100 {
    border-color: #DDEBE4 !important;
}

.border-green-200,
.hover\:border-green-200:hover {
    border-color: #BFD8CA !important;
}

.border-green-300,
.hover\:border-green-300:hover {
    border-color: #76A48E !important;
}

.border-green-500 {
    border-color: var(--primary-color) !important;
}

.border-green-700 {
    border-color: var(--primary-hover) !important;
}

.focus\:border-green-500:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(23, 76, 60, 0.15) !important;
}

.focus\:ring-green-500:focus {
    --tw-ring-color: rgba(23, 76, 60, 0.35) !important;
}

.shadow-green-100,
.shadow-green-200 {
    --tw-shadow-color: rgba(23, 76, 60, 0.2) !important;
    --tw-shadow: var(--tw-shadow-colored) !important;
}

.from-green-600 {
    --tw-gradient-from: var(--primary-color) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgba(23, 76, 60, 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.to-green-500 {
    --tw-gradient-to: #2F745E var(--tw-gradient-to-position) !important;
}

.success-alert {
    background-color: var(--success-soft) !important;
    border-color: #6EE7B7 !important;
    color: var(--success-dark) !important;
}

.success-soft-text {
    color: var(--success-color) !important;
}

.accent-badge {
    background-color: var(--accent-soft) !important;
    color: #A73C24 !important;
}

/* Customer dashboard: a fresh, layered green workspace. */
.harvest-dashboard {
    --bg-main: #edf8f0;
    background:
        radial-gradient(circle at 8% 4%, rgba(74, 222, 128, 0.16), transparent 25rem),
        radial-gradient(circle at 94% 18%, rgba(16, 185, 129, 0.12), transparent 22rem),
        linear-gradient(180deg, #f4fbf5 0%, #eaf6ed 48%, #f7fbf7 100%) !important;
    min-height: 100vh;
}

.harvest-dashboard nav.bg-green-900 {
    background: linear-gradient(120deg, #052e22 0%, #0b5d3b 55%, #15803d 100%) !important;
    border-color: rgba(187, 247, 208, 0.22) !important;
    box-shadow: 0 10px 30px rgba(5, 46, 34, 0.2);
}

.harvest-dashboard main > .bg-white,
.harvest-dashboard .group.bg-white,
.harvest-dashboard .mining-card {
    border-color: #ccebd5 !important;
    box-shadow: 0 8px 24px rgba(20, 83, 45, 0.07);
}

.harvest-dashboard main > .bg-gray-900 {
    background: linear-gradient(110deg, #064e3b, #166534) !important;
    border: 1px solid rgba(187, 247, 208, 0.2);
}

.harvest-dashboard .mining-card {
    background: linear-gradient(135deg, #ffffff, #effcf3);
}

.harvest-dashboard .group.bg-white:hover,
.harvest-dashboard main > .bg-white:hover {
    border-color: #86d49d !important;
    box-shadow: 0 14px 32px rgba(21, 128, 61, 0.12);
}
