/* AgroVest visual unification – presentation only, no payment/business logic changes */
:root{--agv-navy:#081525;--agv-panel:#102238;--agv-panel-2:#172c43;--agv-green:#11a66f;--agv-green-dark:#08764f;--agv-leaf:#8cdd94;--agv-gold:#e7b85b;--agv-line:#284459}
html{scroll-behavior:smooth}body{accent-color:var(--agv-green)}
:is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--agv-green)!important;outline-offset:3px}
button,a,.panel,.card,.stat,.bv-w-panel,.wd-panel,.wm-card,.ref-card,.agro-account-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
:is(button,.primary-btn,.auth-submit,.btn):not(:disabled):hover{filter:brightness(1.07)}
:is(.panel,.card,.stat,.bv-w-panel,.wd-panel,.wm-card):hover{border-color:rgba(32,177,119,.38)}
/* Respect existing dashboard's navy structure; add agricultural accents without changing layout. */
.appbody .content :is(.panel,.stat,.bv-w-panel,.wd-panel,.bv-service-head){border-color:rgba(64,130,117,.26)}
.appbody .content :is(.panel,.stat,.bv-w-panel,.wd-panel) h3::before{content:'🌿';font-size:.8em;margin-right:.45em;opacity:.9}
.appbody .content :is(.primary-btn,button[type=submit]){transition:transform .2s,filter .2s,box-shadow .2s}
.appbody .content :is(.primary-btn,button[type=submit]):hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(4,100,67,.2)}
.appbody .content :is(input,select,textarea):focus{border-color:var(--agv-green)!important;box-shadow:0 0 0 3px rgba(17,166,111,.13)}
.appbody .content :is(.tf-kicker,.wd-kicker,.bvr-kicker){color:var(--agv-leaf)!important;letter-spacing:.09em}
/* Secondary customer pages: navy, leaf-green accents, subtle entrance animation */
body:not(.agro-plans-light-theme) :is(.tf-shell,.wd-head,.bv-service-head,.bvr-hero,.wm-card){animation:agv-enter .45s ease both}
/* Forms, verification and standalone checkout keep all existing form controls and actions */
body:not(.appbody):not(.auth-body) :is(.panel,.card,.wrap>main){border-color:rgba(42,161,111,.3)}
body:not(.appbody) :is(input,select,textarea):focus{outline:2px solid rgba(17,166,111,.65);outline-offset:1px}
@keyframes agv-enter{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:600px){.appbody .content :is(.panel,.stat,.bv-w-panel,.wd-panel){max-width:100%}}
