/* CGS shared app brand layer. Load last, after accessibility and native layout CSS.
 * The shop is the visual reference; native safe areas and text scaling stay intact.
 * Geometry belongs to the screen styles. This file owns visual tokens and type. */
:root{
  --green:#28531a;--forest:#004322;--accent:#6cc51c;--pale:#d0ecc7;
  --paper:#f4f6f2;--ink:#17221a;--muted:#50604c;--line:#dee6d9;--danger:#973c29;
  --link:var(--green);--vivid:var(--accent);--surface:var(--paper);--red:var(--danger);--paler:#eef5e9;
  --cgs-body:calc(15px * var(--cgs-text-scale,1));
  --cgs-meta:calc(13px * var(--cgs-text-scale,1));
  --cgs-control:calc(14px * var(--cgs-text-scale,1));
  --cgs-field:calc(16px * var(--cgs-text-scale,1));
  --cgs-title:calc(28px * var(--cgs-text-scale,1));
  --cgs-entry-title:calc(22px * var(--cgs-text-scale,1));
  --cgs-section:calc(20px * var(--cgs-text-scale,1));
  --cgs-card-title:calc(16px * var(--cgs-text-scale,1));
  font-family:CGS,Poppins,Arial,sans-serif;font-size:var(--cgs-body);
  font-synthesis:none;line-height:1.5;color:var(--ink);background:var(--paper);
}
body{background:var(--paper);color:var(--ink)}
button,input,select,textarea{font-family:inherit}
a{color:var(--green)}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #397126;outline-offset:3px}
/* Popups also focus listboxes and other tabindex regions. Keep their keyboard
   focus visible in CGS green instead of the browser's default blue ring. */
:is(dialog,[role="dialog"]){accent-color:var(--green,#28531a);caret-color:var(--green,#28531a)}
:is(dialog,[role="dialog"]):focus-visible,
:is(dialog,[role="dialog"]) :focus-visible{outline:3px solid var(--green,#28531a);outline-offset:-3px}

/* The saved 100 to 200% text-size control continues to scale every type token. */
:root :is(.app-shell,.account-shell,dialog){font-size:var(--cgs-body);line-height:1.5}
:root :is(.app-shell,.account-shell,dialog) :is(p,li){font-size:var(--cgs-body);line-height:1.5}
:root :is(.app-shell,.account-shell,dialog) h1,
:root .app-shell .page-heading h1,
:root .app-shell:not(.no-nav) .page-heading h1,
:root .rewards-experience .page-heading h1{font-size:var(--cgs-title);font-weight:600;line-height:1.25;letter-spacing:-.6px}
:root :is(.app-shell,.account-shell,dialog) h2,
:root .app-shell .source-major-heading h2,
:root .app-shell[data-screen=C01] .source-major-heading h2{font-size:var(--cgs-section);font-weight:600;line-height:1.35;letter-spacing:-.3px}
:root :is(.app-shell,.account-shell,dialog) h3{font-size:var(--cgs-card-title);font-weight:600;line-height:1.4}
:root :is(.app-shell,.account-shell,dialog) :is(small,.small,.meta,.screen-id,.header-role,.product-meta,.grower-row-meta,.item-meta,.inbox-meta,.chat-meta,.legal-version,.version-note,.notification-frequency,.garden-editor-meta){font-size:var(--cgs-meta);line-height:1.45}
:root .app-shell :is(.card,.product-card,.listing-card,.request-item,.request-card,.grower-list-row,.feed-content,.plant-info,.plant-card,.upcoming-card-body,.help-row,.reward-gift,.rank-ladder,.preference-group,.grower-responsibilities) :is(h2,h3),
:root .app-shell .source-card-body .card-title-link h2,
:root .app-shell .source-card-body>h2,
:root .app-shell :is(.card-title-link,.source-plant-card>strong,.role-choice-card strong,.reward-link strong,.garden-selection strong){font-size:var(--cgs-card-title);font-weight:600;line-height:1.4;letter-spacing:0}
:root .app-shell :is(.inbox-main strong,.help-article-copy strong,.garden-inventory-item strong,.garden-collection strong){font-size:var(--cgs-card-title);font-weight:600;line-height:1.4}
:root .app-shell :is(.product-card,.request-item,.plant-info,.plant-card,.role-choice-card,.reward-link,.rank-ladder) :is(small,.product-meta),
:root .app-shell :is(.product-price small,.source-plant-card>span,.garden-inventory-item small,.garden-collection small,.kpi small,.grower-stat small,.grower-stat span){font-size:var(--cgs-meta);line-height:1.45}
:root .app-shell :is(.inbox-preview,.text-preview,.message,.chat-bubble,.summary>div,.detail-row,.list-row,.list-line,.check-row,.check,.notice,.disclosure,.help-details p){font-size:var(--cgs-body);line-height:1.5}
:root :is(.app-shell,.account-shell,dialog) :is(.field>span,legend){font-size:var(--cgs-meta);font-weight:600;line-height:1.45}
:root .app-shell :is(.eyebrow,.garden-card-top .eyebrow){font-size:var(--cgs-meta);font-weight:600;letter-spacing:.08em;color:var(--green)}
:root .app-shell .garden-caption{font-size:var(--cgs-meta)!important;line-height:1.5!important}
:root .app-shell .payment-state h2{font-size:var(--cgs-section)!important}

/* Shared controls match the shop, with a 44px minimum touch target. */
:root :is(.app-shell,.account-shell,dialog) .btn{
  min-height:44px;border-radius:9px;font-size:var(--cgs-control);font-weight:600;
  line-height:1.4;padding:10px 16px;white-space:normal;overflow-wrap:break-word;
}
:root :is(.app-shell,.account-shell,dialog) .btn{background:var(--green);border-color:var(--green);color:#fff}
:root :is(.app-shell,.account-shell,dialog) .btn.btn-secondary{background:#fff;border-color:var(--line);color:var(--green)}
:root :is(.app-shell,.account-shell,dialog) .btn.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
:root :is(.app-shell,.account-shell,dialog) .btn.btn-secondary.btn-danger{background:#fff0e9;border-color:#ebd1c6;color:var(--danger)}
:root :is(.app-shell,.account-shell,dialog) .btn:disabled{background:#e6ebe2;border-color:var(--line);color:var(--muted);cursor:not-allowed}
:root .app-shell :is(.text-link,.auth-body .text-link,.auth-footer-links>.btn,.entry-help-links>.btn,.source-section-heading>.btn){min-height:44px;font-size:var(--cgs-control);font-weight:600;line-height:1.4}
:root .app-shell :is(.auth-footer-links>.btn,.entry-help-links>.btn,.source-section-heading>.btn){background:transparent;border-color:transparent;color:var(--green)}
:root .app-shell :is(.icon-btn,.icon-button){min-width:44px;min-height:44px;border-radius:9px}
:root :is(.app-shell,.account-shell,dialog) .field :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea),
:root .app-shell input[type=search]{font-size:var(--cgs-field);line-height:1.5;min-height:44px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff}
:root.cgs-ios .app-shell .field :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:max(16px,var(--cgs-field))}
:root .app-shell .segmented{border-radius:12px;background:#eef2eb}
:root .app-shell .segmented button{border-radius:9px;min-height:44px;font-size:var(--cgs-control);line-height:1.4}
:root .app-shell .segmented .active{background:var(--green);color:#fff;font-weight:600}
:root .app-shell :is(.bottom-nav button,.desktop-rail button){font-size:var(--cgs-meta);font-weight:400}
:root .app-shell .bottom-nav .active{font-weight:600}
:root .app-shell .bottom-nav .active .nav-icon{background:var(--green);color:#fff;border-radius:9px}
:root .app-shell .desktop-rail button{border-radius:9px;color:var(--muted)}
:root .app-shell .desktop-rail button[aria-current]{background:var(--green);color:#fff;font-weight:600}

/* Keep each screen's responsive layout, media shape and safe-area geometry. */
:root .app-shell :is(.card,.source-produce-card,.product-card,.listing-card,.plant-card,.source-plant-card,.request-card,.request-item,.preference-group,.grower-responsibilities,.role-choice-card,.legal-section,.settings-list,.account-menu,.grower-settings,.inbox-list,.conversation-context,.grower-list-row,.kpi,.grower-stat,.reward-link){border-radius:12px;border-color:var(--line)}
:root .app-shell :is(.hero-photo,.hero-image,.listing-hero,.produce-image,.photo-preview,.attachment-preview){border-radius:12px}
:root .app-shell .badge{border-radius:6px;font-size:var(--cgs-meta);font-weight:600;line-height:1.4}
:root .app-shell .notice{border-radius:9px;background:var(--paler);color:var(--forest)}
:root .app-shell :is(.invite-card,.pass-ticket) :is(h1,h2,h3,p,strong){color:#fff}
:root .app-shell :is(.invite-card,.pass-ticket) :is(.eyebrow,.muted,small){color:var(--pale)}
:root .app-shell .pass-ticket strong{font-weight:600}
:root .app-shell .source-card-overlays .badge:first-child{color:var(--danger)}
:root .account-shell>h1{color:var(--ink)}
:root .app-shell .invite-card .btn{background:#fff;border-color:#fff;color:var(--forest)}
:root .app-shell .notice.warning{background:#fff2d9;color:#765014}

/* Search submits remain explicit, compact and labelled for assistive technology. */
:root :is(.app-shell,.account-shell,dialog) .btn.search-submit{
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;
 width:44px;min-width:44px;min-height:44px;padding:9px;gap:0;justify-self:start;
}
:root :is(.app-shell,.account-shell,dialog) .btn.search-submit .icon{display:block;flex:0 0 24px;width:24px;height:24px;line-height:1}
:root :is(.app-shell,.account-shell,dialog) .btn.search-submit .icon>svg{display:block;width:100%;height:100%}
:root .account-shell{border-color:var(--line);border-radius:12px;box-shadow:0 8px 30px #17221a0a}
:root .account-shell :is(p,li){color:var(--ink)}
:root .account-shell .account-links{font-size:var(--cgs-meta)}
:root .account-shell .form-error{color:var(--danger);background:#fff0e9;border-radius:9px}
:root .account-shell .legal-section{border-radius:12px}

/* Use the approved SVG wordmark at its natural 500:154 ratio. */
:root :is(.header-brand,.auth-logo,.account-brand,.home-brand img,.desktop-brand img){height:auto;aspect-ratio:500/154;object-fit:contain;filter:none}
:root .header-brand{width:132px;max-width:100%}
:root .auth-brand-region>.auth-logo{width:176px;max-width:100%;height:auto}
:root .account-brand{width:176px;max-width:100%;height:auto}
:root .home-brand{width:200px;max-width:calc(100% - 48px);height:auto}

/* Existing layout adaptations for 150 to 200% type continue to own stacking. */
@media(min-width:960px){:root{--cgs-title:calc(31px * var(--cgs-text-scale,1))}}
/* Native page titles use the sign-in headline size at every saved text scale. */
:root:is(.cgs-android,.cgs-ios){--cgs-title:var(--cgs-entry-title)}
@media(max-width:580px){:root .account-shell{border-radius:0;box-shadow:none;padding-top:calc(28px + env(safe-area-inset-top,0px));padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}}
@media(hover:hover){
  :root :is(.app-shell,.account-shell,dialog) .btn.btn-secondary:not(:disabled):hover{background:#f1f7ed}
}

/* Shared profile services and publisher attribution. */
.profile-services { min-width:0; overflow-wrap:anywhere; }
.profile-services .btn { white-space:normal; min-height:44px; max-width:100%; }
.profile-services .social-provider-list { display:grid; gap:12px; margin-block:16px; }
.profile-services details { margin-block:12px; }
.profile-services details summary { cursor:pointer; min-height:44px; display:flex; align-items:center; }
.profile-services .provider-launch { margin-block:16px; }
.cgs-copyright { color:var(--muted,#52604e); text-align:center; font-size:12px; line-height:1.7; padding:24px 12px 12px; }
.cgs-copyright a { color:inherit; text-decoration:underline; text-underline-offset:3px; }

.profile-services .provider-apple { background:#000; color:#fff; border-color:#000; }
.profile-services .provider-apple:not(:disabled):not([aria-disabled="true"]):hover { background:#252525; color:#fff; border-color:#252525; }

/* Provider sign-in branding v19. Own every interactive state to preserve contrast. */
@font-face{font-family:CGSProviderGoogle;src:url("desktop/assets/signin-google-sans.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:46px;margin:0;padding:0 12px;border:1px solid;border-radius:8px;font-size:17px;line-height:22px;font-weight:500;text-align:center;text-decoration:none;white-space:normal;letter-spacing:0;opacity:1;box-shadow:none}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-google{background:#fff;color:#1f1f1f;border-color:#747775;font-family:CGSProviderGoogle,Arial,sans-serif}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-apple{background:#000;color:#fff;border-color:#000;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:19px;padding:0 12px 0 0}
:root .cgs-provider-button .cgs-provider-mark{display:block;flex:0 0 auto;object-fit:contain;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;filter:none;opacity:1;pointer-events:none}
:root .cgs-provider-button .cgs-provider-mark-google{width:20px;height:auto;aspect-ratio:200/204;margin:12px 12px 12px 0}
:root .cgs-provider-button .cgs-provider-mark-apple{width:31px;height:44px;aspect-ratio:31/44;margin:0}
:root .cgs-provider-button .cgs-provider-label{min-width:0;color:inherit;font:inherit;white-space:nowrap;overflow-wrap:normal;word-break:normal;pointer-events:none}
:root .cgs-provider-button :is(.social-unavailable,.cgs-provider-status){flex-basis:100%;color:inherit;font:400 12px/18px Poppins,Arial,sans-serif;padding:0 8px 7px}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-google:not(:disabled):is(:hover,:focus-visible){background:#f2f2f2;color:#1f1f1f;border-color:#747775}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-apple:not(:disabled):is(:hover,:focus-visible){background:#252525;color:#fff;border-color:#252525}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-google:not(:disabled):active{background:#e8e8e8;color:#1f1f1f;border-color:#747775}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-apple:not(:disabled):active{background:#393939;color:#fff;border-color:#393939}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button:focus-visible{outline:3px solid #477832;outline-offset:3px}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button:disabled{cursor:not-allowed;opacity:1;box-shadow:none}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-apple:disabled{background:#000;color:#fff;border-color:#000}
:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-google:disabled{background:#fff;color:#1f1f1f;border-color:#747775}
:root .account-service-actions:has(.cgs-provider-button){display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media(max-width:380px){:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button{font-size:16px}:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button.cgs-provider-apple{font-size:18px}}
@media(forced-colors:active){:root :is(body,.app-shell,.account-shell,dialog) .btn.cgs-provider-button{forced-color-adjust:none}}

/* v32: concise provider choices share a row where they fit. */
.social-provider-list:has(>.cgs-provider-button){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}

/* v33: separate provider confirmation, account linking help and new-account fields. */
.app-shell .social-signup-intro{margin:0 0 18px;overflow-wrap:anywhere}
.app-shell .social-signup-intro p{margin:0;line-height:1.65}
.app-shell .social-signup-intro p+p{margin-top:8px}
.app-shell .social-signup-verified{color:var(--forest)}
.app-shell .social-signup-link-help{display:grid;justify-items:start;gap:10px;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid var(--line);font-size:var(--cgs-body,14px);line-height:1.65;overflow-wrap:anywhere}
.app-shell .social-signup-link-help p{margin:0}
.app-shell .social-signup-link-help>.btn{margin:4px 0 0;max-width:100%;white-space:normal}

/* v34: CGS actions have a visible green hover/focus state across web and native shells. */
:root :is(.app-shell,.account-shell,dialog) :is(.btn,.icon-btn,.icon-button,.segmented button,.desktop-rail button){transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
:root :is(.app-shell,.account-shell,dialog) .btn:not(.cgs-provider-button):not(.btn-danger):not(:disabled):not([aria-disabled="true"]):focus-visible{background:#1d4212;color:#fff;border-color:#1d4212}
:root :is(.app-shell,.account-shell,dialog) :is(.btn.btn-secondary,.icon-btn,.icon-button):not(.cgs-provider-button):not(.btn-danger):not(:disabled):not([aria-disabled="true"]):focus-visible{background:#d0ecc7;color:#004322;border-color:#648656}
@media(hover:hover){
 :root :is(.app-shell,.account-shell,dialog) .btn:not(.cgs-provider-button):not(.btn-danger):not(:disabled):not([aria-disabled="true"]):hover{background:#1d4212;color:#fff;border-color:#1d4212;box-shadow:0 3px 8px #00432220;transform:translateY(-1px)}
 :root :is(.app-shell,.account-shell,dialog) :is(.btn.btn-secondary,.icon-btn,.icon-button):not(.cgs-provider-button):not(.btn-danger):not(:disabled):not([aria-disabled="true"]):hover{background:#d0ecc7;color:#004322;border-color:#648656}
 :root .app-shell :is(.segmented button,.desktop-rail button):not(.active):not([aria-current]):not(:disabled):not([aria-disabled="true"]):hover{background:#d0ecc7;color:#004322}
 :root :is(.app-shell,.account-shell,dialog) .btn.btn-danger:not(:disabled):not([aria-disabled="true"]):hover{background:#7b2b1c;color:#fff;border-color:#7b2b1c}
}
:root :is(.app-shell,.account-shell,dialog) .btn:not(:disabled):not([aria-disabled="true"]):active{transform:translateY(0);box-shadow:none}
:root :is(.app-shell,.account-shell,dialog) :is(.btn,.icon-btn,.icon-button):is(:disabled,[aria-disabled="true"]){transform:none;box-shadow:none;transition:none}
@media(prefers-reduced-motion:reduce){:root :is(.app-shell,.account-shell,dialog) :is(.btn,.icon-btn,.icon-button,.segmented button,.desktop-rail button){transition:none!important;animation:none!important;transform:none!important}}

/* v34: Grower onboarding uses a single, readable pickup and verification workflow. */
.identity-notice{display:grid;gap:16px;min-width:0;margin:0 0 20px}
.identity-notice :is(h2,h3,p){margin:0;line-height:1.6}
.identity-notice :is(h2,h3){line-height:1.35}
.identity-notice>p,.identity-notice>small{display:block;font-size:14px;line-height:1.65;max-width:76ch}
.identity-notice a{color:#28531a;text-decoration:underline;text-underline-offset:3px}
.identity-notice .grower-profile-section{display:grid;gap:10px}
.grower-terms-panel{display:grid;gap:12px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:18px;background:#f7faf4}
.grower-terms-panel :is(h3,p){margin:0;line-height:1.6}
.grower-terms-panel :is(ol,ul){margin:0;padding-left:22px}
.grower-terms-panel li+li{margin-top:8px}
.grower-terms-ack{display:flex;align-items:flex-start;gap:10px;margin-top:14px;line-height:1.65}
.grower-terms-ack input{width:18px;height:18px;min-height:0;flex:0 0 18px;margin:4px 0 0;accent-color:var(--green)}
.grower-terms-ack span{min-width:0;overflow-wrap:break-word}
.pickup-scheduler{display:grid;gap:16px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:18px;background:#f8faf6}
.pickup-scheduler :is(h3,p){margin:0}
.pickup-scheduler>p{font-size:14px;line-height:1.65}
.pickup-scheduler .field{display:grid;gap:7px;min-width:0;margin:0}
.pickup-scheduler :is(input,select){min-width:0;width:100%;max-width:100%;min-height:44px;font-size:16px}
.pickup-weekly-row,.pickup-date-row{display:grid;grid-template-columns:minmax(120px,1fr) repeat(2,minmax(105px,1fr)) auto;gap:10px;align-items:end;min-width:0;padding:14px 0;border-top:1px solid var(--line)}
.pickup-scheduler-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}
.pickup-scheduler-toolbar .btn{min-width:0;white-space:normal}
.pickup-scheduler .pickup-empty{font-size:14px;color:var(--muted);padding-block:8px}
.address-autocomplete{position:relative;min-width:0}
.address-results{display:grid;gap:0;margin-top:6px;padding:4px;max-height:280px;overflow:auto;overscroll-behavior:contain;border:1px solid #9dbd8e;border-radius:8px;background:#fff;box-shadow:0 5px 16px #00432212}
.address-results:empty,.address-results[hidden]{display:none}
.address-option{display:block;width:100%;min-width:0;min-height:48px;padding:11px 12px;border:0;border-radius:6px;background:#fff;color:var(--ink);text-align:left;white-space:normal;font-size:14px;line-height:1.55;overflow-wrap:anywhere;cursor:pointer}
.address-option:not(:disabled):is(:hover,:focus-visible){background:#d0ecc7;color:#004322;outline:2px solid #397126;outline-offset:-2px}
.address-status{font-size:13px;line-height:1.6;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}
.address-status:empty{display:none}
.grower-attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-block:18px 24px}
.grower-attention-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:18px;border:1px solid #c5d9b7;border-radius:12px;background:#f4f9ef}
.grower-attention-card :is(h3,p){margin:0;line-height:1.55}
.grower-attention-card p{font-size:14px;flex:1}
.grower-attention-card .btn{max-width:100%;white-space:normal}
.cgs-growing-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px}
.cgs-growing-photos img{width:100%;height:140px;object-fit:cover;border-radius:9px}
@media(max-width:600px){
 .pickup-scheduler,.grower-terms-panel{padding:14px}
 .pickup-weekly-row,.pickup-date-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .pickup-weekly-row>:first-child,.pickup-date-row>:first-child{grid-column:1/-1}
 .pickup-weekly-row>:last-child,.pickup-date-row>:last-child{grid-column:1/-1;justify-self:start}
 .identity-notice{gap:14px}
 .pickup-scheduler-toolbar>.btn{flex:1 1 160px}
}

/* Date overrides include date, open/closed, two times and removal; two columns
   keep these controls readable inside the profile modal as well as on a phone. */
.pickup-date-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.pickup-date-row>:first-child{grid-column:auto}
.pickup-date-row>:last-child{grid-column:1/-1;justify-self:start}
.grower-terms-panel details{min-width:0}
.grower-terms-panel summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:600;line-height:1.5;color:var(--green)}
.grower-terms-panel summary:focus-visible{outline:3px solid #397126;outline-offset:3px}
.grower-terms-content{max-height:300px;overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;scrollbar-gutter:stable}
.grower-terms-content:focus-visible{outline:3px solid #397126;outline-offset:3px}
.grower-terms-content :is(h4,p,ul,ol){margin:0 0 14px;line-height:1.65}
.grower-terms-content :is(h4,p,ul,ol):last-child{margin-bottom:0}
.grower-terms-content h4{font-size:15px;font-weight:600}
.grower-attention{margin-block:0 24px}
.grower-identity-state{display:grid;gap:10px;min-width:0}
.address-option[aria-selected="true"]{background:#d0ecc7;color:#004322;box-shadow:inset 3px 0 #28531a}
.address-attribution{display:block;margin-top:10px;font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:380px){.pickup-date-row{grid-template-columns:minmax(0,1fr)}.pickup-date-row>:first-child,.pickup-date-row>:last-child{grid-column:auto}}

/* The shared app groups all time windows for a date inside its date fieldset. */
.app-shell .pickup-scheduler{min-inline-size:0;margin-block:18px}
.app-shell fieldset.pickup-date-row{min-inline-size:0;margin:16px 0 0;padding:16px;border:1px solid var(--line);border-radius:9px}
.app-shell .pickup-date-row>[data-pickup-date-windows],.app-shell .pickup-date-row>.pickup-scheduler-toolbar{grid-column:1/-1;min-width:0}
.app-shell [data-pickup-date-window]{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
.app-shell .pickup-scheduler .check-row{display:flex;gap:8px;align-items:center;margin:0;min-height:44px}
.app-shell .pickup-scheduler input[type=checkbox]{width:18px;height:18px;min-height:0;flex:0 0 18px}
.app-shell .pickup-scheduler [hidden],.app-shell .google-maps-attribution[hidden]{display:none!important}
.google-maps-attribution{display:block;margin-top:10px;font:400 14px/1.5 Arial,sans-serif;letter-spacing:0;color:#5e5e5e}
.app-shell .grower-terms-content h3{margin:0 0 12px;font-size:16px;line-height:1.5}
.app-shell .grower-terms-content>section+section{margin-top:20px}
/* Growing practices: clear label, field guidance and space before garden photos. */
.app-shell .grower-practices-field{min-width:0;margin-block:0 20px}
.app-shell .grower-practices-field>.field{margin-bottom:8px}
.app-shell .grower-practices-field>.field>span{margin-bottom:10px}
.app-shell .grower-practices-field>p{margin:8px 0 0;line-height:1.6}
:root .app-shell :is(p,div).grower-guidance,:root .app-shell #grower-verification-details .notice,:root .app-shell .grower-practices-field>p,:root .app-shell .grower-evidence-section>p,:root .app-shell .address-autocomplete .address-help>p,:root .app-shell #grower-verification-details>p{font-family:inherit;font-size:calc(16px * var(--cgs-text-scale,1));line-height:1.6}
.app-shell .grower-evidence-section{display:grid;gap:12px;min-width:0;margin-block:18px}
.app-shell .grower-evidence-section :is(h3,p){margin:0;line-height:1.6}
.app-shell .grower-evidence-section>.verification-photos:empty{display:none}
.app-shell .desktop-motto{display:flex;align-items:center;gap:8px;padding:12px;color:var(--forest);font-weight:600;line-height:1.45;font-size:14px}
.app-shell .desktop-motto .icon{flex:0 0 24px;width:24px;height:24px;margin:0}
.app-shell .desktop-motto span{white-space:nowrap}
@media(max-width:600px){.app-shell [data-pickup-date-window]{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell [data-pickup-date-window]>.field:first-child{grid-column:auto}.app-shell [data-pickup-date-window]>.btn{grid-column:1/-1}}
@media(max-width:600px){
 :root[data-cgs-large-text=true] .app-shell :is(.pickup-weekly-row,.pickup-date-row,[data-pickup-date-window]){grid-template-columns:minmax(0,1fr)}
 :root[data-cgs-large-text=true] .app-shell :is(.pickup-weekly-row,.pickup-date-row,[data-pickup-date-window])>*{grid-column:1/-1;min-width:0}
}
:root .app-shell .map-zoom .btn{width:44px;min-width:44px;min-height:44px}
.app-shell .pickup-hours-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.app-shell .pickup-hours-grid>*{min-width:0;overflow-wrap:anywhere}
.app-shell .seller-offer-head>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){:root[data-cgs-large-text=true] .app-shell .pickup-hours-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.app-shell .pickup-date-row>.field,.app-shell .pickup-date-row>.check-row{grid-column:1/-1}}

/* v35: comfortable sign-in controls and private review notices. */
.remember-choice{margin-block:14px;align-items:flex-start;gap:10px}.remember-choice small{display:block;margin-top:4px;color:inherit;font-weight:400}
.account-warning-banner{padding:16px 20px;border:1px solid #a5640c;border-radius:12px;background:#fff7e7;color:#583800;margin-bottom:20px;overflow-wrap:anywhere}
.account-warning-banner p{margin:8px 0;line-height:1.5}.account-warning-banner details{margin-top:10px}.account-warning-banner summary{cursor:pointer;min-height:32px}
.verification-conversation{display:grid;gap:14px;margin-block:20px}.verification-reply{padding:16px;border:1px solid #d5dfd3;border-radius:12px;background:#f6f9f4;overflow-wrap:anywhere}.verification-reply p{white-space:pre-wrap;margin:8px 0;line-height:1.5}.verification-reply small{display:block}.verification-reply .evidence-media{display:block;width:100%;max-width:380px;max-height:240px;object-fit:contain;margin:10px 0;border-radius:8px}.verification-reply-form{display:grid;gap:12px;margin-block:18px}.verification-reply-form textarea{min-height:110px}

:root .app-shell .auth-footer-links>.btn{padding-inline:14px}

/* v39: separate the address input, guidance, change action and privacy note. */
.address-autocomplete{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-block:8px 28px;padding-block:4px;align-content:start}
.address-autocomplete>.field,.address-autocomplete>p,.address-autocomplete .address-help>p{margin:0;line-height:1.65}
.address-autocomplete>.address-results{margin-top:0}
.address-autocomplete>.address-help{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.address-autocomplete .address-actions{display:flex;flex-wrap:wrap;gap:12px;padding-block:4px;min-width:0}
.address-autocomplete .address-actions>.btn{min-height:44px;max-width:100%;padding-inline:16px;white-space:normal;overflow-wrap:break-word}
.address-autocomplete .address-privacy{padding-top:16px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.address-autocomplete>.address-attribution,.address-autocomplete>.google-maps-attribution{margin-top:0;line-height:1.6}

/* Keep the same clear green treatment for desktop rails and native bottom menus. */
:root .app-shell :is(.desktop-rail,.bottom-nav) button:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible){background:#d0ecc7;color:#004322}
:root .app-shell :is(.desktop-rail,.bottom-nav) button:is(.active,[aria-current="page"]):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible){background:#1d4212;color:#fff}
:root .app-shell :is(.desktop-rail,.bottom-nav) button:is(:hover,:focus-visible) :is(svg,.icon,.nav-icon){color:inherit}

/* The account picker uses the same single-column layout on phone and desktop. */
.account-location-picker{max-width:100%;margin-block:0 20px}
.account-location-picker :is(input,select){min-width:0;max-width:100%;font-size:16px}
.account-location-picker .account-location-legacy{padding:12px;border:1px solid var(--line);border-radius:8px;line-height:1.6}

/* Shared Android/iOS choices keep the original select as the form source. */
:root select.native-select-source{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0;pointer-events:none}
:root button.native-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;max-width:100%;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:var(--cgs-control);font-weight:400;line-height:1.5;text-align:left;touch-action:manipulation}
.native-select-value{min-width:0;overflow-wrap:anywhere}
.native-select-chevron{flex:0 0 8px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px 0}
:root button.native-select-trigger:disabled{background:#e6ebe2;color:var(--muted);cursor:not-allowed}
:root button.native-select-trigger[aria-invalid=true]{border-color:var(--danger)}
:root .native-select-validation{display:block;margin-top:5px;color:var(--danger);font-size:var(--cgs-meta);line-height:1.45;overflow-wrap:anywhere}
:root :is(.native-select-trigger,.native-select-validation)[hidden]{display:none!important}
:root dialog.native-select-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(var(--cgs-visible-height,100dvh) - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 12px 40px #17221a30;overflow:hidden}
.native-select-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.native-select-dialog::backdrop{background:#17221a66}
.native-select-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--paler)}
:root dialog.native-select-dialog .native-select-heading>h2{min-width:0;margin:0;font-size:var(--cgs-card-title);line-height:1.4;overflow-wrap:anywhere;letter-spacing:0}
.native-select-cancel{flex:none;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-size:var(--cgs-control);font-weight:600;line-height:1.4}
.native-select-options{min-height:0;max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px;outline-offset:-3px}
.native-select-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:44px;padding:8px 10px;margin:0 0 4px;border-radius:7px;color:var(--ink);font-size:var(--cgs-control);font-weight:400;line-height:1.5;overflow-wrap:anywhere;cursor:pointer;-webkit-tap-highlight-color:transparent}
.native-select-option::before{content:'';width:18px;height:18px;border:1.5px solid #77916b;border-radius:50%;background:#fff}
.native-select-option[aria-selected=true]{background:var(--pale);color:var(--forest);font-weight:600}
.native-select-option[aria-selected=true]::before{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 4px #fff}
.native-select-option[data-active=true]{outline:2px solid #397126;outline-offset:-2px}
.native-select-option[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.native-select-group-label{padding:8px 10px 4px;color:var(--muted);font-size:var(--cgs-meta);font-weight:600;line-height:1.4;overflow-wrap:anywhere}

/* Address retries must remain hidden until a save fails, including themed buttons. */
.app-shell [data-address-save-retry][hidden],.app-shell [data-account-location-save-retry][hidden]{display:none!important}

/* v54.12.28: compact subtask timelines and equally spaced private business details. */
.verification-subtasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:16px 0 24px;padding:0;max-width:540px}
.verification-subtask{position:relative;display:grid;justify-items:center;align-content:start;gap:9px;min-width:0;text-align:center;color:var(--ink,#24392c)}
.verification-subtask:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 24px);right:calc(-50% + 12px);top:21px;border-top:2px solid #ced8c8;z-index:0}
.verification-subtask-circle{position:relative;z-index:1;display:grid;place-items:center;isolation:isolate;box-sizing:border-box;width:44px;height:44px;border-radius:50%;background:conic-gradient(#397126 calc(var(--progress,0)*1turn),#dce5d6 0);color:#28531a}
.verification-subtask-circle::before{content:"";position:absolute;inset:5px;background:#fff;border-radius:50%;z-index:-1}
.verification-subtask.is-complete .verification-subtask-circle::before{background:#e4f1dc}
.verification-subtask-circle svg{width:23px;height:23px}
.verification-subtask-label{display:block;max-width:12ch;font-size:var(--cgs-body,16px);font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.grower-business-message{margin:0;padding:8px 0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.grower-address-link{color:#28531a;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.grower-business-fulfillment{display:grid;gap:16px;margin-top:20px}
.grower-business-fulfillment>p,.grower-business-fulfillment>h3{margin:0}
[data-pickup-alternative][hidden]{display:none!important}
@media(max-width:420px){.verification-subtasks{gap:8px}.verification-subtask-label{max-width:10ch}.verification-subtask:not(:last-child)::after{right:calc(-50% + 8px)}}

.verification-subtask{--progress:0}.verification-subtask.is-partial{--progress:.5}.verification-subtask.is-complete{--progress:1}.verification-subtask-label>span{display:block}

.grower-business-pickup{min-width:0;border:0;padding:0;margin:0}.grower-business-pickup>legend{font-weight:600;margin-bottom:12px}[data-business-pickup][hidden]{display:none!important}

/* A nonblocking suggestion; members can keep using the app without enrolling. */
.optional-security{border-color:#b9d6a9;background:#f2f7ee}.optional-security h2{color:#28531a}.optional-security .button-row{display:flex;flex-wrap:wrap;gap:10px}.optional-security .button-row>.btn{flex:1 1 180px;min-height:44px}
