@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;700;800&display=swap";:root{--bg:#f6efe5;--bg-accent:#f9e6c9;--panel:#fffaf3;--panel-soft:#fff4e7;--line:#e7d7c5;--line-strong:#d8c2aa;--text:#20150f;--muted:#4f4033;--primary:#2f5f4a;--primary-dark:#153227;--accent:#b8773d;--accent-dark:#8e542a;--accent-soft:#f7d8b5;--shadow:0 18px 42px #5338211f;--shadow-strong:0 20px 52px #5338212e;--focus-ring:0 0 0 3px #b8773d38}*{box-sizing:border-box}html,body,#root{width:100%;overflow-x:hidden}body{color:var(--text);background:radial-gradient(circle at 100% 0, #f7d6a6d9, transparent 26%), radial-gradient(circle at 0 0, #ca946147, transparent 28%), radial-gradient(circle at 50% 100%, #2f5f4a1a, transparent 32%), var(--bg);margin:0;font-family:Manrope,Segoe UI,sans-serif}a{color:var(--primary-dark);text-decoration:none;transition:color .18s,opacity .18s,transform .18s}a:hover{color:var(--accent-dark)}:focus-visible{box-shadow:var(--focus-ring);outline:none}.page-shell{width:min(1360px,100% - 2rem);margin:0 auto;padding:1.2rem 0 2rem}.shell-body{gap:14px;margin-top:14px;display:grid}.shell-main{min-width:0}.top-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#fffaf3d1;border:1px solid #e7d7c5eb;border-radius:18px;align-items:center;gap:12px;padding:12px 16px;display:grid}.brand span{color:var(--primary);letter-spacing:.02em;font-family:Space Grotesk,Manrope,sans-serif;font-size:1.6rem;font-weight:700;line-height:1;display:block}.brand small{color:#5a4838;font-size:.82rem}.top-nav nav{flex-wrap:wrap;gap:16px;min-width:0;display:flex}.top-nav nav a{color:var(--text);border-radius:999px;padding:.45rem .7rem;font-weight:600}.top-nav nav a:hover{color:var(--accent-dark);background:#b7773d14}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auth-status{align-items:center;gap:8px;display:flex}.auth-user{gap:2px;min-width:0;display:grid}.auth-user strong{color:var(--primary-dark);font-size:.9rem;line-height:1.1}button,input,select,textarea{font:inherit}button{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--primary) 0%, #356c54 54%, var(--accent) 100%);border:1px solid #1e40320f;border-radius:12px;padding:9px 14px;transition:transform .18s,box-shadow .18s,filter .18s,background .18s,color .18s,border-color .18s;box-shadow:0 10px 20px #2f5f4a29}button:hover:not(:disabled){filter:brightness(1.02)saturate(1.04);transform:translateY(-1px);box-shadow:0 14px 28px #2f5f4a33}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ghost-button{color:var(--primary-dark);border-color:var(--line);box-shadow:none;background:linear-gradient(#fffaf3f5,#f7ebdbfa)}.ghost-button:hover:not(:disabled){color:var(--accent-dark);background:linear-gradient(#fffaf3,#f7e6cf)}select,input,textarea{border:1px solid var(--line);color:var(--text);background:#ffffffe6;border-radius:12px;padding:10px 12px;transition:border-color .18s,box-shadow .18s,background-color .18s}select::placeholder,input::placeholder,textarea::placeholder{color:#8a7665}select:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);border-color:#b8773d99}.layout-main{gap:14px;margin-top:14px;display:grid}.hero-panel{isolation:isolate;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(118deg,#fffaf3eb 14%,#fff6eba3 50%,#ffefdd2e 68%),url(/photos/hero.jpg) 50%/cover no-repeat;border:1px solid #d8c2aaf2;border-radius:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px;min-height:280px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 46px #5338211f}.hero-panel:before{content:"";z-index:-1;background:radial-gradient(circle at 22% 18%,#ffffff47,#0000 28%),radial-gradient(circle at 84% 12%,#b8773d1f,#0000 20%);position:absolute;inset:0}.hero-copy h1{max-width:500px;color:var(--primary-dark);letter-spacing:-.04em;margin:0 0 6px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(1.9rem,3.4vw,3.1rem);line-height:.92}.hero-copy p{color:#372b21;max-width:420px;margin-bottom:8px;font-size:.94rem}.hero-metrics{align-content:center;gap:8px;display:grid}.hero-metrics article{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #e7d7c5f2;border-radius:12px;padding:10px 12px;box-shadow:0 8px 18px #5338210f}.hero-metrics strong{color:var(--primary);font-family:Space Grotesk,Manrope,sans-serif;font-size:1.05rem;font-weight:700;display:block}.hero-metrics span{color:var(--muted);font-size:.82rem}.consumer-layout{gap:16px}.consumer-hero{color:#fff;background:linear-gradient(135deg,#153227fa 0%,#2f5f4aeb 58%,#b8773dc2 100%);border:1px solid #15322738;border-radius:22px;gap:16px;display:grid;box-shadow:0 18px 42px #15322733}.consumer-copy h1{color:#fff;margin-bottom:10px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.consumer-copy p{color:#ffffffd6;max-width:760px;margin:0;font-size:1.02rem}.consumer-stats{gap:10px;display:grid}.consumer-stats article{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:16px;padding:14px}.consumer-stats strong{color:#fff;font-family:Space Grotesk,Manrope,sans-serif;font-size:1.15rem;display:block}.consumer-stats span{color:#ffffffc2;font-size:.88rem}.comparison-list{gap:12px;display:grid}.comparison-card{border:1px solid var(--line);background:linear-gradient(165deg,#fffffffa 0%,#fff7ebfa 100%);border-radius:18px;padding:14px;box-shadow:0 12px 28px #53382114}.comparison-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.comparison-top h3{margin:0 0 4px}.comparison-top p{color:var(--muted);margin:0}.comparison-source{color:#6a5847;font-size:.84rem;margin-top:4px!important}.comparison-top strong{color:var(--primary-dark);white-space:nowrap;font-family:Space Grotesk,Manrope,sans-serif;font-size:1rem}.comparison-prices{gap:8px;margin-top:12px;display:grid}.price-step{border:1px solid var(--line);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.price-step span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}.price-step strong{color:var(--text);font-size:.98rem}.price-step.farmer{background:linear-gradient(#2f5f4a1a 0%,#2f5f4a0a 100%)}.price-step.retailer{background:linear-gradient(#b8773d1f 0%,#b8773d0d 100%)}.price-step.consumer{background:linear-gradient(#1532271a 0%,#1532270a 100%)}.comparison-bar{border:1px solid var(--line);background:#efe5d7;border-radius:999px;height:12px;margin-top:12px;display:flex;overflow:hidden}.bar{height:100%}.bar.farmer{background:linear-gradient(90deg, var(--primary) 0%, #5aa07f 100%)}.bar.retailer{background:linear-gradient(90deg, var(--accent) 0%, #d89a57 100%)}.bar.consumer{background:linear-gradient(90deg, var(--primary-dark) 0%, #0f211a 100%)}.comparison-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;font-size:.88rem;display:flex}.price-ticker,.global-ticker{color:#fff;background:linear-gradient(#1e4032fa 0%,#18352afa 100%);border:1px solid #b8773d33;border-radius:14px;flex-direction:column;gap:8px;margin-top:2px;padding:10px;display:flex;box-shadow:0 10px 22px #1e403229}.ticker-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.ticker-kicker{color:#ffffffb8;letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;display:block}.ticker-head strong{color:#fff;font-family:Space Grotesk,Manrope,sans-serif;font-size:.86rem}.ticker-live{color:#ffffffd1;white-space:nowrap;background:#ffffff1a;border-radius:999px;flex:none;padding:3px 7px;font-size:.66rem}.ticker-window{max-height:228px;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 10% 90%,#0000 100%)}.ticker-track{will-change:transform;gap:8px;animation:42s linear infinite ticker-scroll;display:grid}.price-ticker:hover .ticker-track,.price-ticker:focus-within .ticker-track,.global-ticker:hover .ticker-track,.global-ticker:focus-within .ticker-track{animation-play-state:paused}.ticker-item{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.ticker-item h3{color:#fff;margin:0 0 3px;font-size:.82rem;line-height:1.2}.ticker-item p{color:#ffffffb8;-webkit-line-clamp:1;margin:0;font-size:.68rem;line-height:1.2}.ticker-item strong{color:#ffd8ae;white-space:nowrap;font-size:.8rem}.search-row{grid-template-columns:1fr auto;gap:8px;max-width:560px;margin-top:12px;display:grid}.search-row input{border-radius:999px;min-width:0;padding-inline:14px}.search-row button{border-radius:999px;padding-inline:14px}.section{border:1px solid var(--line);background:linear-gradient(165deg,#fffffff2 0%,#fff7ebf5 100%);border-radius:18px;padding:16px;box-shadow:0 10px 28px #53382114}.section h1,.section h2,.section h3{margin-top:0}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--primary-dark);cursor:pointer;box-shadow:none;background:linear-gradient(#fffaf3 0%,#f9ecd9 100%);border:1px solid #ddc9b2;border-radius:999px;padding:8px 12px;font-size:.85rem}.chip:hover:not(:disabled){color:var(--accent-dark);background:linear-gradient(#fff5ea 0%,#f6e1c8 100%)}.chip.active{border-color:var(--primary);color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--accent-dark) 100%)}.grid{gap:12px;display:grid}.grid-farmers{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.featured-farmers-section{padding:8px}.featured-farmers-section .section-head{margin-bottom:4px}.showcase-list{gap:6px;display:grid}.compact-showcase{padding:8px}.compact-showcase h2{margin-bottom:0;font-size:.94rem}.compact-showcase .section-head{margin-bottom:4px}.compact-footer{justify-content:center;margin-top:6px;display:flex}.load-more-button{border:1px solid var(--line-strong);min-width:150px;color:var(--primary-dark);box-shadow:none;background:linear-gradient(#fffaf3f5 0%,#f7ebdbfa 100%);border-radius:999px;padding:6px 10px;font-size:.76rem}.load-more-button:hover:not(:disabled){color:var(--accent-dark);background:linear-gradient(#fff7ec 0%,#f5dfc6 100%)}.list-row{background:linear-gradient(#fffffffa 0%,#fff9f2fa 100%);border:1px solid #e7d7c5f2;border-radius:12px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:6px 7px;display:grid;box-shadow:0 8px 18px #5338210d}.list-row .card-media{aspect-ratio:1;border-radius:10px}.list-content{gap:3px;min-width:0;display:grid}.farmer-row .card-media{width:56px}.farmer-row .list-content h3,.product-list-row .list-content h3{margin:0;font-size:.84rem;line-height:1.1}.farmer-row .list-content p,.product-list-row .list-content p{-webkit-line-clamp:1;margin:0;font-size:.7rem}.farmer-row .list-content a,.product-list-row .list-content a{border-radius:999px;width:fit-content;padding:4px 7px;font-size:.68rem}.product-list-row .card-media{width:56px}.product-list-row .product-head{align-items:center;gap:6px}.product-list-row .stock-badge{padding:3px 7px;font-size:.64rem}.product-list-row .price-line{margin:0;font-size:.76rem}.product-list-row .card-actions{gap:4px;margin-top:2px}.product-list-row .card-actions a:last-child{display:none}.compact-page .section{border-radius:16px;padding:12px}.compact-page .section h1,.compact-page .section h2,.compact-page .section-head{margin-bottom:6px}.farmer-layout.compact-page{gap:12px}.farmer-layout.compact-page .compact-banner{background:#fffffff2;border-radius:16px;gap:12px;padding:12px;box-shadow:0 10px 24px #53382114}.farmer-layout.compact-page .compact-copy h1{margin-bottom:4px;font-size:clamp(1.45rem,3vw,2.2rem);line-height:.98}.farmer-layout.compact-page .compact-copy p{margin:0 0 4px;font-size:.88rem}.farmer-layout.compact-page .farm-banner-media{aspect-ratio:4/3;border-radius:12px}.farmer-layout.compact-page .compact-product-list,.farmer-layout.compact-page .compact-directory-list,.buyer-layout.compact-page .compact-buyer-list,.marketplace-layout.compact-page .compact-market-list{gap:6px}.farmer-layout.compact-page .compact-directory .directory-search{margin-bottom:8px;padding:8px 10px}.farmer-layout.compact-page .compact-calendar{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;max-width:320px}.farmer-layout.compact-page .compact-calendar .dot{width:10px;height:10px}.farmer-layout.compact-page .compact-pager{justify-content:space-between;gap:8px;margin-top:8px}.farmer-layout.compact-page .compact-pager button{padding:6px 9px;font-size:.76rem}.farmer-layout.compact-page .compact-pager span{font-size:.82rem}.marketplace-layout.compact-page{gap:12px}.marketplace-layout.compact-page .compact-sidebar{border-radius:14px;gap:6px;padding:10px}.marketplace-layout.compact-page .compact-sidebar h3{margin-bottom:4px;font-size:1rem}.marketplace-layout.compact-page .compact-sidebar button{border-radius:10px;min-height:38px;padding:7px 10px;font-size:.8rem}.marketplace-layout.compact-page .compact-market-content{gap:10px}.marketplace-layout.compact-page .compact-focus{border-radius:16px;gap:10px;padding:10px}.marketplace-layout.compact-page .compact-focus h2{margin-bottom:4px;font-size:1.08rem}.marketplace-layout.compact-page .compact-focus p{font-size:.9rem}.marketplace-layout.compact-page .compact-focus .focus-media{aspect-ratio:5/4;border-radius:12px}.marketplace-layout.compact-page .product-list-row{padding:6px}.buyer-layout.compact-page{gap:12px}.buyer-layout.compact-page .buyer-intro{padding:12px}.buyer-layout.compact-page .buyer-intro h1{margin-bottom:4px;font-size:clamp(1.35rem,3vw,2rem);line-height:1}.buyer-layout.compact-page .buyer-intro p{margin:0;font-size:.9rem}.buyer-layout.compact-page .compact-order-row{border-radius:10px;padding:8px 10px}.buyer-layout.compact-page .compact-order-row strong{font-size:.9rem}.buyer-layout.compact-page .compact-order-row p{font-size:.8rem}.mypage-layout{gap:12px}.mypage-hero{color:#fff;background:linear-gradient(135deg,#153227f5 0%,#2f5f4aeb 58%,#b8773db8 100%);border:1px solid #2f5f4a24;border-radius:18px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 42px #15322729}.mypage-copy h1{color:#fff;margin-bottom:8px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(1.75rem,3.8vw,3rem);line-height:1}.mypage-copy p{color:#ffffffd6;max-width:760px;margin:0}.mypage-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.mypage-actions button{min-height:40px;padding:8px 12px}.mypage-action-note{color:#ffffffc7;font-size:.85rem}.mypage-kicker{color:#ffffffd6;letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border-radius:999px;padding:5px 10px;font-size:.74rem;display:inline-flex;margin-bottom:10px!important}.mypage-meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mypage-meta span{color:#ffffffe0;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;padding:6px 10px;font-size:.8rem}.mypage-stats{gap:8px;display:grid}.mypage-stats article{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:14px;padding:10px 12px}.mypage-stats strong{color:#fff;font-family:Space Grotesk,Manrope,sans-serif;font-size:1.12rem;display:block}.mypage-stats span{color:#ffffffc2;font-size:.84rem}.mypage-card{gap:12px;display:grid}.mypage-form-grid{gap:10px;display:grid}.mypage-form-grid label{gap:6px;display:grid}.mypage-form-grid label>span{color:var(--muted);font-size:.84rem;font-weight:700}.mypage-form-grid textarea{min-height:88px}.mypage-span-2{grid-column:1/-1}.mypage-product-list,.mypage-media-list{gap:10px;display:grid}.mypage-product-card,.mypage-media-card{border:1px solid var(--line);background:linear-gradient(165deg,#fffffffa 0%,#fff7ebfa 100%);border-radius:16px;gap:10px;padding:12px;display:grid;box-shadow:0 12px 28px #53382114}.mypage-product-card h3{margin-bottom:0}.mypage-media-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.mypage-media-head p{color:var(--muted);margin:4px 0 0;font-size:.86rem}.file-button{justify-content:center;align-items:center;gap:0;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.mypage-photo-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.mypage-photo-tile{gap:6px;margin:0;display:grid}.mypage-photo-tile img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%;display:block}.mypage-photo-tile button{border-radius:999px;padding:5px 8px;font-size:.72rem}.mypage-empty{color:var(--muted);margin:0}.mypage-month-picker{gap:10px;padding:4px 0 2px;display:grid}.mypage-month-group{gap:6px;display:grid}.mypage-month-group strong{color:var(--muted);font-size:.84rem;font-weight:700}.mypage-month-row{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.month-chip{min-height:30px;color:var(--text);box-shadow:none;letter-spacing:.01em;background:linear-gradient(#fffaf4 0%,#f2e2cd 100%);border:1px solid #dccab8fa;border-radius:999px;padding:5px 6px;font-size:.68rem;font-weight:700}.month-chip.active{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, #3a7158 58%, var(--accent) 100%)}.month-chip.resell.active{background:linear-gradient(135deg,#8e542a 0%,#c5844d 60%,#e0ae72 100%)}.card{border:1px solid var(--line);background:#fffffff5;border-radius:16px;flex-direction:column;gap:2px;min-width:0;padding:10px;transition:transform .22s,box-shadow .22s,border-color .22s,background-color .22s;display:flex;box-shadow:0 10px 24px #5338210f}.card-media{aspect-ratio:4/3;background:linear-gradient(135deg,#b7773d2e,#2f5f4a1a);border-radius:12px;width:100%;overflow:hidden}.card img{object-fit:cover;width:100%;height:100%;display:block}.card h3{margin:9px 0 4px;font-size:1.08rem}.product-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.stock-badge{color:var(--primary-dark);white-space:nowrap;background:linear-gradient(#f6e7d2 0%,#fbead5 100%);border:1px solid #2f5f4a2e;border-radius:999px;padding:4px 8px;font-size:.73rem}.price-line{color:var(--primary-dark);font-weight:700}.card-meta{opacity:0;gap:2px;max-height:0;transition:max-height .22s,opacity .22s;display:grid;overflow:hidden}.card:hover .card-meta,.card:focus-within .card-meta{opacity:1;max-height:70px}.card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0;font-size:.92rem;display:-webkit-box;overflow:hidden}.card-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.product-card .card-actions{margin-top:auto}.card:hover,.card:focus-within{border-color:#d4b799;transform:translateY(-3px);box-shadow:0 16px 34px #5338211f}.card-actions a,.card-actions button{color:var(--primary-dark);box-shadow:none;background:linear-gradient(#fffaf4 0%,#f5e7d7 100%);border:1px solid #d8c2aaf2;border-radius:10px;padding:7px 10px;font-size:.84rem}.card-actions a:hover,.card-actions button:hover{color:var(--accent-dark);background:linear-gradient(#fff4e8 0%,#f4dcc0 100%)}.farmer-layout .farm-banner{border:1px solid var(--line);background:#fffffff5;border-radius:18px;gap:14px;padding:14px;display:grid;box-shadow:0 12px 30px #53382114}.farm-banner-media{aspect-ratio:16/10;background:linear-gradient(135deg,#b7773d29,#2f5f4a1a);border-radius:14px;overflow:hidden}.farm-banner img{object-fit:cover;width:100%;height:100%}.harvest-timeline{gap:6px;padding-bottom:4px;display:grid;overflow-x:auto}.harvest-timeline-head,.harvest-timeline-row{grid-template-columns:minmax(150px,1.4fr) repeat(10,minmax(40px,1fr));align-items:stretch;gap:6px;display:grid}.harvest-timeline-head{min-width:min-content}.harvest-timeline-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:.7rem;font-weight:700}.harvest-timeline-row{min-width:min-content}.harvest-timeline-label{border:1px solid var(--line);background:#ffffffe6;border-radius:12px;gap:2px;padding:8px 10px;display:grid}.harvest-timeline-label strong{font-size:.9rem}.harvest-timeline-label small{color:var(--muted);font-size:.72rem}.harvest-cell{border:1px solid var(--line);letter-spacing:.05em;background:#ffffffb3;border-radius:10px;place-items:center;min-height:34px;font-size:.68rem;font-weight:800;display:grid}.harvest-cell.harvest{color:var(--primary-dark);background:#2f5f4a29}.harvest-cell.resell{color:var(--accent-dark);background:#b8773d29}.harvest-cell.both{color:var(--primary-dark);background:linear-gradient(135deg,#2f5f4a33,#b8773d33)}.harvest-cell.empty{color:#0000}.calendar-mock{grid-template-columns:repeat(10,1fr);gap:8px;display:grid}.dot{border-radius:999px;width:12px;height:12px}.dot.on{background:linear-gradient(180deg, var(--primary) 0%, #4d8a6f 100%)}.dot.off{background:#dbcbb9}.marketplace-layout{grid-template-columns:1fr}.market-sidebar{border:1px solid var(--line);background:#fffffff5;border-radius:16px;grid-auto-rows:min-content;align-content:start;gap:8px;height:fit-content;padding:14px;display:grid;box-shadow:0 12px 30px #53382114}.market-sidebar input{width:100%}.market-sidebar button{text-align:left;min-height:42px;color:var(--text);box-shadow:none;background:linear-gradient(#fffaf4 0%,#f4e6d4 100%);border:1px solid #dccab8f2;border-radius:12px;padding:9px 12px}.market-sidebar button:hover:not(:disabled){color:var(--accent-dark);background:linear-gradient(#fff4e9 0%,#f1d8ba 100%)}.market-sidebar button.active{color:#fff;border-color:var(--primary);background:linear-gradient(135deg, var(--primary) 0%, var(--accent-dark) 100%)}.market-content{gap:12px;min-width:0;display:grid}.product-focus{border:1px solid var(--line);background:#fffffff5;border-radius:18px;gap:12px;padding:12px;animation:.28s fade-up;display:grid;box-shadow:0 12px 30px #53382114}.focus-media{aspect-ratio:4/3;background:linear-gradient(135deg,#b7773d29,#2f5f4a1a);border-radius:14px;width:100%;overflow:hidden}.product-focus img,.product-detail img{object-fit:cover;width:100%;height:100%}.order-list{gap:10px;display:grid}.order-row{border:1px solid var(--line);background:#fffffff5;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.order-row p{margin:2px 0 0}.request-form{gap:8px;max-width:620px;display:grid}.request-form textarea{min-height:110px}.chat-box{border:1px solid var(--line);background:#fffffff5;border-radius:12px;min-height:140px;padding:10px}.chat-send{grid-template-columns:1fr auto;gap:8px;margin-top:8px;display:grid}.footer-bar{border:1px solid var(--line);background:#fffaf3eb;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;display:flex;box-shadow:0 10px 24px #5338210f}.footer-legal{gap:16px;display:flex}.footer-legal a{color:var(--muted);font-size:.8rem}.footer-version{color:var(--line-strong);font-variant-numeric:tabular-nums;border-left:1px solid var(--line);padding-left:8px;font-size:.75rem}.grid-products .product-card{animation:.28s both fade-up}.directory-search{margin-bottom:12px}.pager{justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.pager span{color:var(--muted);font-size:.9rem}.admin-layout{gap:16px}.admin-hero{color:#fff;background:linear-gradient(135deg,#153227fa 0%,#2f5f4af0 56%,#b8773dd1 100%);align-items:center;gap:14px;display:grid;box-shadow:0 18px 42px #15322729}.admin-hero h1{color:#fff;margin-bottom:8px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.admin-hero p{color:#ffffffd1;max-width:720px;margin:0}.admin-stats{gap:10px;display:grid}.admin-stats article{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff24;border-radius:14px;padding:12px 14px}.admin-stats strong{color:#fff;font-family:Space Grotesk,Manrope,sans-serif;font-size:1.2rem;display:block}.admin-stats span{color:#ffffffc2;font-size:.88rem}.admin-toolbar{align-items:center;gap:10px;display:grid}.admin-toolbar input{width:100%}.admin-alert.error{color:#7b2020;background:linear-gradient(#ffeeeefa 0%,#fff5f5fa 100%);border-color:#a5282840}.admin-alert.success{color:var(--primary-dark);background:linear-gradient(#ebf9f2fa 0%,#f4fcf8fa 100%);border-color:#2f5f4a38}.admin-list{gap:12px;display:grid}.admin-card{border:1px solid var(--line);background:linear-gradient(165deg,#fffffffa 0%,#fff7ebfa 100%);border-radius:18px;padding:14px;box-shadow:0 12px 28px #53382114}.admin-card.blocked{background:linear-gradient(165deg,#fff7f7fa 0%,#ffeeeefa 100%);border-color:#a528282e}.admin-card-head{justify-content:space-between;gap:10px;display:flex}.admin-card-head h3{margin-bottom:4px}.admin-card-head p{color:var(--muted);margin:0}.admin-badge{color:var(--primary-dark);text-transform:uppercase;background:#2f5f4a1f;border-radius:999px;align-self:start;padding:5px 10px;font-size:.78rem;font-weight:700}.admin-meta{color:var(--muted);flex-wrap:wrap;gap:8px;margin:10px 0;font-size:.88rem;display:flex}.admin-form{gap:10px;display:grid}.admin-form label{gap:6px;display:grid}.admin-form label>span{color:var(--muted);font-size:.84rem;font-weight:700}.admin-form textarea{min-height:84px}.admin-inline{align-items:center;gap:8px;display:flex!important}.admin-inline input{width:auto}.admin-actions{justify-content:flex-end;margin-top:10px;display:flex}.admin-actions button{min-width:140px}.auth-page{gap:16px}.auth-page-hero{color:#fff;background:linear-gradient(135deg,#153227fa 0%,#2f5f4aeb 60%,#b8773dc7 100%);align-items:start;gap:14px;display:grid;box-shadow:0 18px 42px #1532272e}.auth-page-copy h1{color:#fff;margin:0 0 8px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.auth-page-copy p{color:#ffffffd6;margin:0}.auth-kicker{color:#ffffffd6;letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border-radius:999px;padding:5px 10px;font-size:.74rem;display:inline-flex;margin-bottom:10px!important}.auth-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px)saturate(.95);backdrop-filter:blur(10px)saturate(.95);background:#1118158f;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.auth-backdrop .auth-modal{background:radial-gradient(circle at 100% 0,#ffffff57,#0000 36%),linear-gradient(165deg,#fffaf3fa 0%,#fff4e5fa 100%);border:1px solid #d8c2aaeb;border-radius:26px;gap:14px;width:min(560px,100vw - 2rem);max-width:560px;max-height:calc(100dvh - 2rem);padding:18px;display:grid;overflow:auto;box-shadow:0 30px 70px #14201a47}.auth-backdrop .auth-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.auth-backdrop .auth-header h2{color:var(--primary-dark);letter-spacing:-.03em;margin:0;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(1.45rem,2.3vw,1.95rem)}.auth-backdrop .auth-subtitle{max-width:34ch;color:var(--muted);margin:6px 0 0;font-size:.92rem;line-height:1.45}.auth-backdrop .auth-close{white-space:nowrap;flex-shrink:0;align-self:flex-start}.auth-backdrop .auth-tabs{border:1px solid var(--line);background:#ffffff9e;border-radius:999px;flex-wrap:wrap;gap:8px;padding:4px;display:inline-flex}.auth-backdrop .auth-tabs .chip{min-width:92px;padding:8px 14px}.auth-backdrop .auth-social{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.auth-backdrop .social-button{border-radius:14px;width:100%;min-height:46px;padding:11px 14px;font-weight:700;box-shadow:0 10px 20px #2f5f4a1f}.auth-backdrop .social-button.google{background:linear-gradient(135deg,#2f5f4af5 0%,#387056f2 58%,#b8773de6 100%)}.auth-backdrop .social-button.facebook{background:linear-gradient(135deg,#1b4865f5 0%,#2f5f4af2 56%,#b8773de6 100%)}.auth-backdrop .auth-note{color:var(--muted);background:#ffffffa8;border:1px solid #d8c2aad1;border-radius:14px;margin:0;padding:11px 12px;font-size:.88rem;line-height:1.45}.auth-backdrop .auth-form{gap:12px;display:grid}.auth-backdrop .auth-form label>span{color:var(--muted);font-size:.84rem;font-weight:700}.auth-backdrop .auth-form button[type=submit]{width:100%;min-height:46px}.auth-backdrop .auth-error{color:#7b2020;background:linear-gradient(#fff0f0fa 0%,#fff8f8fa 100%);border:1px solid #a5282838;border-radius:14px;margin:0;padding:11px 12px;font-size:.9rem;line-height:1.4}.auth-page-note{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-radius:18px;gap:10px;padding:14px;display:grid}.auth-page-note h2{color:#fff;margin:0;font-family:Space Grotesk,Manrope,sans-serif;font-size:1rem}.auth-page-note p{color:#ffffffc7}.auth-page-card{gap:14px;padding:16px;display:grid}.auth-alert{color:#7b2020;background:linear-gradient(#fff0f0fa 0%,#fff8f8fa 100%);border:1px solid #a5282838;border-radius:14px;padding:12px 14px}.auth-social-row{gap:10px;display:grid}.auth-social-row button{width:100%}.auth-page-form{gap:12px;display:grid}.auth-page-form label{gap:6px;display:grid}.auth-page-form label>span{color:var(--muted);font-size:.84rem;font-weight:700}.auth-page-form button[type=submit]{min-height:46px}.auth-page-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}dialog[open],[role=dialog],.auth-dialog,.auth-modal,.auth-overlay{width:min(760px,100vw - 1rem)}dialog[open]::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1532276b}dialog[open],[role=dialog],.auth-dialog,.auth-modal,.auth-overlay{background:0 0;border:none;padding:0}dialog[open] form,[role=dialog] form,.auth-dialog form,.auth-modal form,.auth-overlay form{align-items:start;gap:12px;display:grid}dialog[open] label,[role=dialog] label,.auth-dialog label,.auth-modal label,.auth-overlay label{gap:6px;min-width:0;display:grid}dialog[open] input,dialog[open] select,dialog[open] textarea,[role=dialog] input,[role=dialog] select,[role=dialog] textarea,.auth-dialog input,.auth-dialog select,.auth-dialog textarea,.auth-modal input,.auth-modal select,.auth-modal textarea,.auth-overlay input,.auth-overlay select,.auth-overlay textarea{width:100%}dialog[open] button,[role=dialog] button,.auth-dialog button,.auth-modal button,.auth-overlay button{width:auto}dialog[open] .auth-shell,dialog[open] .auth-card,dialog[open] .auth-panel,[role=dialog] .auth-shell,[role=dialog] .auth-card,[role=dialog] .auth-panel,.auth-dialog .auth-shell,.auth-dialog .auth-card,.auth-dialog .auth-panel,.auth-modal .auth-shell,.auth-modal .auth-card,.auth-modal .auth-panel,.auth-overlay .auth-shell,.auth-overlay .auth-card,.auth-overlay .auth-panel{background:linear-gradient(165deg,#fffffffa 0%,#fff7ebfa 100%);border:1px solid #d8c2aaf2;border-radius:22px;width:100%;padding:18px;box-shadow:0 20px 48px #5338212e}dialog[open] .auth-actions,[role=dialog] .auth-actions,.auth-dialog .auth-actions,.auth-modal .auth-actions,.auth-overlay .auth-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width>=980px){.top-nav{grid-template-columns:auto 1fr auto}.top-nav nav{justify-content:center}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.hero-metrics article{align-content:center;min-height:84px;display:grid}.farmer-layout .farm-banner{grid-template-columns:360px 1fr}.marketplace-layout{grid-template-columns:260px 1fr;align-items:start}.product-focus{grid-template-columns:340px 1fr;align-items:center}.consumer-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}.consumer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-prices{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-hero{grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr)}.admin-toolbar{grid-template-columns:minmax(0,1fr) auto}.mypage-hero{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);align-items:center}.mypage-stats,.mypage-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.auth-page-card{padding:18px}.market-sidebar{position:sticky;top:12px}.shell-body{grid-template-columns:minmax(0,1fr) 238px;align-items:start}.global-ticker{border-radius:18px;min-height:calc(100dvh - 2.4rem);margin-top:0;padding:12px 10px 10px;position:sticky;top:12px;box-shadow:0 14px 28px #15322738}.global-ticker .ticker-window{flex:1;min-height:0;max-height:none}.global-ticker .ticker-item{padding:7px 8px}.global-ticker .ticker-item h3{font-size:.78rem}.global-ticker .ticker-item p{font-size:.65rem}.auth-page-footer{flex-direction:column;align-items:stretch}dialog[open],[role=dialog],.auth-dialog,.auth-modal,.auth-overlay{width:calc(100vw - .75rem)}dialog[open] .auth-shell,dialog[open] .auth-card,dialog[open] .auth-panel,[role=dialog] .auth-shell,[role=dialog] .auth-card,[role=dialog] .auth-panel,.auth-dialog .auth-shell,.auth-dialog .auth-card,.auth-dialog .auth-panel,.auth-modal .auth-shell,.auth-modal .auth-card,.auth-modal .auth-panel,.auth-overlay .auth-shell,.auth-overlay .auth-card,.auth-overlay .auth-panel{border-radius:18px;padding:14px}dialog[open] .auth-actions,[role=dialog] .auth-actions,.auth-dialog .auth-actions,.auth-modal .auth-actions,.auth-overlay .auth-actions{flex-direction:column}.auth-backdrop{padding:12px}.auth-backdrop .auth-modal{border-radius:22px;width:min(560px,100vw - 1.5rem);padding:16px}.auth-backdrop .auth-social{grid-template-columns:1fr}}@media (width<=979px){.hero-panel{background:linear-gradient(160deg,#fffaf3fa 24%,#fff4e3db 58%,#ffe9c98f 100%),url(/photos/hero.jpg) 50%/cover no-repeat;grid-template-columns:1fr;min-height:240px;padding:16px}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-metrics article{min-height:72px}.market-sidebar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.market-sidebar h3{width:100%;margin-bottom:0}.market-sidebar input{width:100%}.market-sidebar button{white-space:nowrap;width:auto}.mypage-media-head{flex-direction:column;align-items:stretch}.mypage-media-head .file-button{width:100%}.auth-backdrop{padding:10px}.auth-backdrop .auth-modal{width:min(560px,100vw - 1rem);padding:14px}.auth-backdrop .auth-header{flex-direction:column}.auth-backdrop .auth-close{align-self:stretch}.auth-backdrop .auth-social{grid-template-columns:1fr}.global-ticker{margin-top:0}.featured-rail{grid-auto-columns:minmax(220px,72vw)}.top-nav{grid-template-columns:1fr auto}.top-nav .brand{grid-area:1/1}.top-nav nav{grid-area:2/1/auto/-1}.top-nav .header-actions{grid-area:1/2;align-self:center}}@media (width<=700px){.page-shell{width:calc(100% - 1rem)}.hero-metrics{grid-template-columns:1fr}.hero-panel{gap:10px;min-height:auto;padding:14px}.hero-copy h1{max-width:100%;font-size:clamp(1.7rem,8vw,2.4rem)}.hero-copy p{max-width:100%;font-size:.92rem}.hero-metrics article{padding:9px 10px}.hero-metrics span{font-size:.78rem}.top-nav{border-radius:14px;padding:10px 12px}.top-nav nav{flex-wrap:nowrap;gap:12px;padding-bottom:2px;overflow-x:auto}.top-nav nav a{white-space:nowrap}.header-actions{justify-content:flex-end;gap:6px}.header-actions select{flex:none;max-width:80px}.header-actions button{flex:none}.mypage-month-row{grid-template-columns:repeat(10,minmax(44px,1fr))}.harvest-timeline-head,.harvest-timeline-row{grid-template-columns:minmax(120px,1.1fr) repeat(10,minmax(36px,1fr));min-width:620px}.harvest-cell{min-height:30px}.section{padding:12px}.featured-farmers-section{padding-bottom:8px}.featured-head{align-items:start;gap:8px}.featured-head-meta{white-space:normal;justify-content:space-between;gap:8px;width:100%}.featured-rail{grid-auto-columns:minmax(78vw,1fr);gap:10px;padding-bottom:6px}.grid-products{grid-template-columns:1fr}.card-meta{opacity:1;max-height:70px}.brand small,.header-actions button:not(.ghost-button){display:none}.auth-user strong{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.top-nav nav{scrollbar-width:none}.top-nav nav::-webkit-scrollbar{display:none}.top-nav nav a{padding:.6rem 1rem}.footer-bar{text-align:center;flex-direction:column;align-items:center;gap:10px}.footer-legal{flex-wrap:wrap;justify-content:center;gap:8px 14px}.footer-version{border-left:none;border-top:1px solid var(--line);width:100%;padding-top:6px;padding-left:0}.grid-farmers{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{flex-wrap:wrap}}@media (hover:none){.card:hover{border-color:var(--line);transform:none;box-shadow:0 10px 24px #5338210f}.card-meta{opacity:1;max-height:70px}button:hover:not(:disabled){transform:none;box-shadow:0 10px 20px #2f5f4a29}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}
