/* Fée la Liste V3.1 — shared product UI foundation. Scoped to signed-in workspace. */
:root{--fee-ink:#073e31;--fee-muted:#597769;--fee-line:#dce6dc;--fee-lime:#b7e900;--fee-canvas:#f6f6ed;--fee-surface:#fff;--fee-radius-sm:10px;--fee-radius-md:16px;--fee-radius-lg:21px;--fee-focus:#8cb500;--fee-control-height:46px}
*,*::before,*::after{box-sizing:border-box}
body{overflow-x:hidden}
body.logged-in .wrap{min-width:0}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView){min-width:0;scroll-margin-top:16px}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(.panel,.metric,.buyer-metric,.fee-invite-form){box-shadow:none;min-width:0}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){max-width:100%;min-width:0;font-family:inherit}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(button,.btn,[role=button]){font-family:inherit;touch-action:manipulation}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(input,select,textarea,button,a,summary):focus-visible,
body.logged-in .tabs button:focus-visible{outline:3px solid var(--fee-focus)!important;outline-offset:3px!important}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(p,.muted,.section-lead){overflow-wrap:break-word}
body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) .section-lead{max-width:65ch;line-height:1.5}
body.logged-in .tabs{isolation:isolate;min-width:0}
body.logged-in .tabs [data-tab]{min-width:0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
body.logged-in .tabs [data-tab] svg{flex-shrink:0}
body.logged-in .tabs [data-tab].active{font-weight:750}
body.logged-in [hidden]{display:none!important}
/* Strong separation between primary workflow and helper copy. */
body.logged-in :is(#adminView,#teamView) .section-kicker,body.logged-in #fieldView .step-title{letter-spacing:.09em}
body.logged-in :is(#adminView,#teamView) .panel>h2{letter-spacing:-.035em}
/* Native feedback stays in-flow, never covers work in progress. */
body.logged-in :is([role=status],[role=alert]){overflow-wrap:anywhere}
body.logged-in :is(.field,.grid,.row,.split){min-width:0}
body.logged-in :is(.site-create-row,.buyer-switch){min-width:0}
body.logged-in :is(#requestDialog,#purchaseDialog,#passwordDialog,#feeEditSiteDialog,#feeNoSitesDialog,#installDialog){scroll-margin-top:24px}
@media (max-width:760px){
 body.logged-in{padding-bottom:env(safe-area-inset-bottom,0px)}
 body.logged-in .wrap{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
 body.logged-in .tabs{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;margin:0!important;border-radius:20px 20px 0 0!important;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))!important;z-index:90!important;background:rgba(255,255,255,.97)!important;box-shadow:0 -8px 28px rgba(7,62,49,.08)!important;display:flex!important;justify-content:space-between!important;gap:3px!important}
 body.logged-in .tabs [data-tab]{flex:1 1 0!important;min-width:0!important;max-width:none!important;min-height:58px!important;padding:8px 2px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;border-radius:14px!important}
 body.logged-in .tabs [data-tab] span{font-size:clamp(9px,2.55vw,12px)!important;font-weight:700!important;line-height:1.15!important;text-align:center!important;overflow-wrap:normal!important;white-space:nowrap!important}
 body.logged-in .tabs [data-tab] svg{width:22px!important;height:22px!important}
 body.logged-in .tabs [data-tab].active{background:#073e31!important;color:#fff!important}
 body.logged-in #homeView .hero{padding:20px!important}
 body.logged-in :is(#adminView,#teamView) .panel{padding:clamp(16px,4vw,23px)!important}
 body.logged-in #adminView .site-create-row{display:flex;flex-direction:column;gap:10px}
 body.logged-in #adminView .site-create-row input,body.logged-in #adminView .site-create-row button{width:100%!important;min-height:46px}
 body.logged-in #buyerView .buyer-switch{display:flex;overflow-x:auto;gap:5px;scrollbar-width:thin;max-width:100%}
 body.logged-in #buyerView .buyer-switch button{flex:1 0 auto!important;min-height:44px!important;white-space:nowrap!important}
 body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(button,.btn){min-height:42px}
 body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){font-size:16px!important}
 body.logged-in #profileView .fee-v298-nav,body.logged-in #teamView .fee-v299-team-tabs{scroll-snap-type:x proximity;overscroll-behavior-x:contain}
 body.logged-in #profileView .fee-v298-tab,body.logged-in #teamView .fee-v298-tab{scroll-snap-align:start}
 body.logged-in :is(#homeView,#fieldView,#buyerView,#adminView,#teamView,#profileView){padding-bottom:16px}
}
@media(max-width:365px){body.logged-in .tabs [data-tab] span{font-size:9px!important}body.logged-in .tabs [data-tab] svg{width:20px!important;height:20px!important}}
@media(prefers-reduced-motion:reduce){body.logged-in *,body.logged-in *::before,body.logged-in *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
