.fp-pay-page{max-width:760px;margin:32px auto;padding:0 16px}.fp-pay{background:#fff;border:1px solid #d6e2d2;border-radius:16px;padding:clamp(16px,4vw,28px);margin:20px 0;color:#203124;overflow-wrap:anywhere}.fp-pay h2,.fp-pay h3{margin-top:0}.fp-pay p{line-height:1.6}.fp-pay label{display:block;font-weight:600;margin:16px 0 8px}.fp-pay input:not([type=checkbox]):not([type=hidden]){display:block;box-sizing:border-box;width:100%;min-height:48px;border:1px solid #748573;border-radius:8px;padding:10px;font-size:16px;margin-bottom:16px}.fp-pay-check{display:flex!important;gap:10px;align-items:center}.fp-pay .button{display:inline-block;min-height:44px;padding:12px 18px;margin:4px 0;white-space:normal}.fp-pay :focus-visible{outline:3px solid #2b6a36;outline-offset:4px}.fp-pay-amount{font-size:32px;font-weight:700}.fp-pay-qr{max-width:360px;width:100%;margin:20px auto}.fp-pay-qr svg{display:block;width:100%;height:auto}.fp-pay dt{font-weight:700;margin-top:10px}.fp-pay dd{margin:2px 0 10px}.fp-pay-actions{display:flex;gap:10px;flex-wrap:wrap}.fp-pay button:disabled{opacity:.5;cursor:not-allowed}

.fp-pay-error{padding:16px;border:2px solid #a33124;border-radius:8px;color:#8b2018;background:#fff6f3}

.fp-pay .button{background:#287a43;border:1px solid #287a43;color:white;border-radius:8px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.fp-pay .button:hover{background:#1e6034;color:white}.fp-pay button[value="cancelled"]{background:white;color:#8b2018;border-color:#bcaba6}.fp-pay-card,#fp-new{scroll-margin-top:120px}

.fp-app{margin:0;background:#f3f7f0;color:#203124;font:16px/1.5 system-ui,sans-serif}.fp-app *{box-sizing:border-box}.fp-app a{color:#206135}.fp-app .fp-pay-page{margin:0 auto;padding:20px 16px 40px}.fp-app-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0 16px}.fp-app-header>a:first-child{font-size:28px;font-weight:800;text-decoration:none}.fp-app h1{font-size:clamp(24px,5vw,32px);line-height:1.25}.fp-home-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fp-home-choices a{padding:24px 16px;border:1px solid #b5cdb0;border-radius:16px;background:white;font-size:22px;font-weight:700;text-decoration:none}.fp-home-choices span{display:block;font-size:14px;font-weight:400;margin-top:12px}.fp-home-choices a.fp-choice-primary{background:#287a43;color:white}.fp-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fp-keypad .button{min-height:54px;font-size:24px;padding:8px;margin:0}.fp-keypad .button:last-child{grid-column:span 2}.fp-app output{display:block;text-align:right;font-variant-numeric:tabular-nums}.fp-primary{width:100%;margin-top:16px!important}.fp-calculator-help{font-size:13px}.fp-app :focus-visible{outline:2px solid #287a43;outline-offset:3px}.fp-app footer{font-size:14px;margin-top:12px}.fp-app footer>p:first-child{margin-top:0}.fp-app .fp-pay:has(+footer){margin-bottom:12px}.fp-app summary{min-height:44px;cursor:pointer}.fp-app [hidden]{display:none!important}.fp-app .fp-pay-card{scroll-margin-top:16px}

.fp-logo{display:block;width:230px;max-width:100%;height:auto}.fp-app-header>a:first-child{max-width:65%}.fp-pay select{display:block;box-sizing:border-box;width:100%;min-height:48px;border:1px solid #748573;border-radius:8px;background:white;color:#203124;padding:10px;font:inherit;font-size:16px}.fp-embedded{padding:clamp(12px,3vw,28px);border-radius:18px;min-width:0}.fp-embedded .fp-logo{width:195px}.fp-embedded .fp-pay-page{padding:0}.fp-embedded .fp-app-header{flex-wrap:wrap}.fp-embedded .fp-pay{margin:16px 0}.fp-embedded .fp-home-choices a{color:#206135}.fp-embedded .fp-home-choices a.fp-choice-primary{color:white}

.fp-pay [data-fp-account-fields][hidden]{display:none!important}

.fp-bank-row{display:flex;flex-wrap:wrap;gap:0 16px;align-items:start}.fp-bank-number{flex:2 1 240px;min-width:0}.fp-bank-choice{flex:1 1 160px;min-width:0}.fp-bank-row select{max-width:100%}.fp-bank-row #fp-bank{margin-bottom:0}

.fp-bank-choice #fp-bank-code{margin-bottom:0}.fp-bank-choice [data-fp-bank-name]{font-size:13px;line-height:1.4;margin:6px 0 0}.fp-bank-choice [data-fp-bank-name]:empty{display:none}

.fp-pay .fp-account-switch{border:0;padding:0;margin:20px 0 4px;min-width:0}.fp-pay .fp-account-switch legend{font:inherit;font-weight:600;padding:0;margin-bottom:10px}.fp-account-switch>div{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e7eee4;border:1px solid #d6e2d2;border-radius:12px;padding:4px}.fp-pay .fp-account-switch label{position:relative;display:block;margin:0;cursor:pointer}.fp-pay .fp-account-switch input[type=radio]{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0!important}.fp-account-switch span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border-radius:8px;color:#49624c;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.fp-account-switch input:checked+span{background:#fff;color:#185d35;box-shadow:0 1px 5px #20312424}.fp-account-switch input:focus-visible+span{outline:2px solid #287a43;outline-offset:2px}.fp-account-switch label:hover span{color:#185d35}

/* Comfortable, consistent controls in the standalone app and account panel. */
.fp-pay input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.fp-pay select{appearance:none;-webkit-appearance:none;min-height:56px;padding:14px 16px;border:1px solid #c5d5c6;border-radius:12px;background-color:#fbfdf9;color:#203124;font-size:16px;line-height:1.5;box-shadow:0 1px 2px #20312405;transition:border-color .15s,box-shadow .15s,background-color .15s}
.fp-pay input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,.fp-pay select:focus{outline:none;border-color:#43865a;background-color:#fff;box-shadow:0 0 0 3px #287a431a}
.fp-pay input::placeholder{color:#7b8a7d;opacity:1}
.fp-pay select,.fp-pay input[list],.fp-pay input[role=combobox]{padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23516e59' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:20px 20px}
.fp-pay input[list]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}
.fp-account-switch span{min-height:50px}

.fp-bank-choice{position:relative}.fp-pay .fp-bank-suggestions{position:absolute;left:0;right:0;width:100%;box-sizing:border-box;z-index:30;max-height:260px;overflow:auto;overscroll-behavior:contain;border:1px solid #d5e1d4;border-radius:12px;background:#fff;color:#203124;box-shadow:0 8px 24px #2031241a;padding:4px}.fp-bank-suggestions[hidden]{display:none!important}.fp-bank-option{padding:10px 12px;min-height:48px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}.fp-bank-option strong,.fp-bank-option span{display:block}.fp-bank-option strong{font-size:14px}.fp-bank-option span{font-size:13px;line-height:1.4;color:#536655}.fp-bank-option:hover,.fp-bank-option[aria-selected=true]{background:#edf5e9}.fp-bank-suggestions p{margin:10px;font-size:14px}

/* Compact account activation help; native disclosure supports touch and keyboard. */
.fp-pay-enable{position:relative;display:flex;align-items:center;gap:6px;margin:16px 0 8px}.fp-pay .fp-pay-enable label{margin:0}.fp-pay-help{flex:none}.fp-pay-help summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;min-height:20px;padding:0;border:1px solid #d3d8d4;border-radius:50%;background:#edf0ed;color:#69716b;font-size:12px;font-weight:600;cursor:pointer;list-style:none}.fp-pay-help summary::-webkit-details-marker{display:none}.fp-pay-help[open] summary{background:#e1e6e1;color:#4d5650}.fp-pay-help-content{position:absolute;top:calc(100% + 8px);left:0;z-index:40;box-sizing:border-box;width:min(100%,440px);padding:14px 16px;border:1px solid #d5e1d4;border-radius:12px;background:#fff;color:#203124;box-shadow:0 8px 24px #2031241a;font-size:14px;line-height:1.55}

.fp-app-header .fp-shared-account{display:inline-flex;align-self:flex-end;align-items:center;justify-content:center;gap:4px;min-height:44px;font-size:14px;line-height:1.25;text-decoration:none;color:#626b64;white-space:nowrap;flex-shrink:0;padding:5px 10px 5px 5px;border:1px solid transparent;border-radius:12px;background:transparent;background-image:none;transition:background-color .15s,border-color .15s}.fp-app-header .fp-shared-account:hover,.fp-app-header .fp-shared-account:focus-visible{background-color:#fff;border-color:#bdcfb8}.fp-shared-account img{flex:none;width:36px;height:36px;object-fit:contain}.fp-shared-account span{white-space:nowrap}@media(max-width:480px){.fp-app-header .fp-shared-account{min-width:44px;padding:5px}.fp-shared-account>span:not(.fp-shared-icon){display:none}}

.fp-app .fp-install-help summary{min-height:0;padding:8px 0}.fp-app .fp-install-help p{margin:4px 0}.fp-install-help>div{padding-bottom:4px}

.fp-shared-account .fp-shared-icon{display:grid;flex:none;width:36px;height:36px}.fp-shared-icon img{grid-area:1 / 1}.fp-shared-icon .fp-icon-color{opacity:0}.fp-shared-account:hover .fp-icon-default,.fp-shared-account:focus-visible .fp-icon-default{opacity:0}.fp-shared-account:hover .fp-icon-color,.fp-shared-account:focus-visible .fp-icon-color{opacity:1}

.fp-pay-help-content::before{content:"";position:absolute;top:-6px;left:var(--fp-help-arrow,24px);width:10px;height:10px;background:#fff;border-top:1px solid #d5e1d4;border-left:1px solid #d5e1d4;transform:translateX(-50%) rotate(45deg)}

.fp-app h1.fp-home-title{font-size:clamp(22px,4vw,28px);margin-top:28px;margin-bottom:18px;line-height:1.3}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--farmpay a::before{content:"";display:block;width:22px;height:22px;background:url("farmpay-menu.svg") center / contain no-repeat;justify-self:center}

.fp-account-save{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:12px 0}.fp-pay .fp-account-save .button{margin:0}.fp-pay .fp-account-save p{margin:0;font-size:14px}

.fp-pay .fp-payment-heading h3{margin:0 0 12px;font-size:18px;line-height:1.3}.fp-pay .fp-payment-heading .fp-amount-label{margin:0;color:#626b64;font-size:13px;line-height:1.4}.fp-pay .fp-payment-heading .fp-pay-amount{margin:2px 0 8px;line-height:1.2}.fp-pay .fp-payment-status{margin:0 0 8px;font-size:14px;line-height:1.45}.fp-payment-meta{display:flex;flex-wrap:wrap;gap:3px 14px;color:#626b64;font-size:12px;line-height:1.5}

.fp-pay .fp-payment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px 20px;margin:16px 0}.fp-payment-details>div{min-width:0}.fp-pay .fp-payment-details dt{margin:0 0 2px;font-size:12px;font-weight:600;color:#626b64;line-height:1.4}.fp-pay .fp-payment-details dd{margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}

.fp-pay-card>.fp-payment-meta{margin:12px 0}

.fp-request-list{max-width:100%;overflow-x:auto}.fp-pay .fp-request-row{margin:6px 0;font-size:13px;line-height:1.5;white-space:nowrap}.fp-request-state{color:#626b64}.fp-pay .fp-history-note{margin:14px 0 0;font-size:12px;line-height:1.5;color:#626b64}

.fp-pay.fp-history h2{margin-bottom:0}.fp-history .fp-request-list{margin:18px 0}.fp-history .fp-request-row:first-child{margin-top:0}.fp-history .fp-request-row:last-child{margin-bottom:0}.fp-pay.fp-history .fp-history-note{margin-top:0}

.fp-home-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:18px 0}

.fp-embedded .fp-pay.fp-calculator-card{width:100%;max-width:480px;box-sizing:border-box}.fp-embedded .fp-calculator-card h1{font-size:28px;line-height:1.25;margin:0 0 18px}

.fp-pay-static{container-type:inline-size}.fp-static-info{min-width:0}.fp-static-info>p:first-child{margin-top:0}.fp-static-info>p:last-child{margin-bottom:0}@container (min-width:620px){.fp-static-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.2fr);gap:28px;align-items:center}.fp-static-layout>.fp-pay-qr{margin:0 auto}.fp-static-info{font-size:14px}}

.fp-bank-settings{container-type:inline-size}.fp-recipient-field{min-width:0}@container(min-width:760px){.fp-account-fields-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0 20px;align-items:start}.fp-account-fields-layout>[data-fp-account-fields]{min-width:0}.fp-account-fields-layout .fp-bank-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.fp-account-fields-layout .fp-recipient-field{grid-column:2;grid-row:1}}

.fp-pay .fp-pay-actions>.button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.4;font-family:inherit;vertical-align:middle}

.fp-pay label .fp-label-optional{font-weight:400}

.fp-pay-actions:has(.fp-amount-edit){align-items:flex-start}.fp-amount-edit{max-width:100%}.fp-amount-edit>summary{cursor:pointer;list-style:none}.fp-amount-edit>summary::-webkit-details-marker{display:none}.fp-amount-edit[open]{position:relative;flex-basis:100%;order:5}.fp-amount-edit label{max-width:260px}.fp-amount-edit p{font-size:13px;color:#626b64}

.fp-login-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}

.fp-pay .fp-calculation-caption{margin:-8px 0 10px}.fp-pay .fp-calculation-caption label{font-size:13px;font-weight:400;color:#626b64}

.fp-pay .fp-amount-edit>summary.button{background:#edf0ed;background-image:none;color:#58625a;border:1px solid #d3dad4}.fp-pay .fp-amount-edit>summary.button:hover{background:#e2e7e2}.fp-pay .fp-amount-edit[open]>summary.button{display:none}.fp-pay .fp-amount-edit[open]>.fp-amount-save{position:absolute;top:20px;left:132px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:48px;min-height:48px;margin:0}.fp-pay .fp-amount-edit[open]>label{display:inline-block;width:120px;max-width:100%;margin:0;font-size:13px;line-height:20px}.fp-pay .fp-amount-edit input:not([type=checkbox]):not([type=hidden]){box-sizing:border-box;height:48px;min-height:48px;padding:10px 12px;margin:0}.fp-amount-edit>p{clear:both;padding-top:10px}

.fp-app .fp-install-button{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:72px;padding:12px 16px;margin:4px 0 8px;border:1px solid #bcd4c1;border-radius:16px;background:#fff;color:#206135;font:inherit;text-align:left;cursor:pointer;box-shadow:0 3px 12px #2031240a;transition:background-color .15s,border-color .15s,box-shadow .15s}.fp-install-button>img{width:44px;height:44px;flex:none;border-radius:10px}.fp-install-button-text{display:flex;flex-direction:column;gap:3px;min-width:0}.fp-install-button-text strong{font-size:15px;font-weight:650;line-height:1.3}.fp-install-button-text>span{font-size:12px;color:#626b64;line-height:1.4}.fp-install-button>svg{flex:none;margin-left:6px}.fp-app .fp-install-button:hover{background:#f5faf3;border-color:#78a984;box-shadow:0 4px 16px #20312412}.fp-app .fp-install-button:active{background:#eaf3e7}@media(max-width:380px){.fp-app .fp-install-button{gap:9px;padding:10px 12px}.fp-install-button>svg{display:none}}

.fp-app .fp-login-actions .fp-install-compact{margin:0 0 0 auto}@media(max-width:600px){.fp-app .fp-login-actions .fp-install-compact{margin-left:0}}

.fp-installed-mode [data-fp-browser-only]{display:none!important}@media(display-mode:standalone),(display-mode:minimal-ui),(display-mode:window-controls-overlay){[data-fp-browser-only]{display:none!important}}

/* Keep the secondary action gray even inside the theme's WooCommerce button styles. */
.fp-pay .button.fp-back-button{background:#edf0ed!important;color:#58625a!important;border:1px solid #d3dad4!important}.fp-pay .button.fp-back-button:hover{background:#e2e7e2!important;color:#58625a!important;border-color:#d3dad4!important}

.fp-pay .fp-delete-action{display:flex;align-items:center;margin:0}.fp-pay .fp-delete-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 4px;border:0;background:transparent;color:#68716a;font:inherit;font-size:14px;cursor:pointer;box-shadow:none}.fp-pay .fp-delete-link:hover{color:#414b43;text-decoration:underline}.fp-delete-link svg{flex:none}

.fp-pay .button .fp-button-format{font-weight:400;margin-left:.3em}

.fp-amount-status-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:2px 0 8px}.fp-pay .fp-payment-heading .fp-amount-status-row .fp-pay-amount{margin:0}.fp-pay .fp-amount-status-row .fp-payment-status{margin:0;color:#68716a;font-size:13px;font-weight:400}

.fp-pay .fp-qr-secondary-actions .button{background:#edf0ed!important;color:#58625a!important;border:1px solid #d3dad4!important}.fp-pay .fp-qr-secondary-actions .button:hover{background:#e2e7e2!important;color:#58625a!important;border-color:#d3dad4!important}


.fp-app .fp-back-nav{margin:0 0 8px;font-size:14px}.fp-app .fp-back-nav a{display:inline-flex;align-items:center;min-height:32px;color:#626b64;text-decoration:none}.fp-app .fp-back-nav a:hover{text-decoration:underline}

.fp-daily-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.fp-pay .fp-daily-filter input{margin:0;max-width:100%;box-sizing:border-box}.fp-pay .fp-daily-filter .button{margin:0;min-height:48px}.fp-daily-group{border-top:1px solid #d3dad4;padding:12px 0}.fp-daily-group>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;min-height:44px}.fp-daily-group>summary:before{content:'›';color:#626b64}.fp-daily-group[open]>summary:before{content:'⌄'}.fp-daily-group>summary>span{flex:1}.fp-daily-group small{font-weight:400;color:#626b64}.fp-daily-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:14px}.fp-daily-row>span{overflow-wrap:anywhere;min-width:0}.fp-daily-row strong,.fp-daily-group strong{white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:420px){.fp-daily-group>summary{flex-wrap:wrap}.fp-daily-group>summary>strong{margin-left:auto}}
.fp-pay .fp-daily-filter>label{margin:0}.fp-pay .fp-daily-filter input{height:50px;min-height:50px}.fp-pay .fp-daily-filter>.button{height:50px;min-height:50px}

.fp-customer{text-align:center;padding-inline:12px}.fp-customer-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 0 12px auto;font-size:32px;line-height:1;text-decoration:none!important;border-radius:8px;color:#58625a!important}.fp-customer-back:hover{background:#edf0ed;color:#247b42!important}.fp-customer h1{font-size:24px;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere}.fp-customer .fp-amount-label{margin:0 0 12px}.fp-customer .fp-pay-amount{font-size:clamp(32px,7vw,52px);margin:0;line-height:1.2;overflow-wrap:anywhere}.fp-customer .fp-pay-qr{max-width:520px;margin:20px auto}.fp-customer .fp-pay-qr svg{width:100%;height:auto;max-height:none}.fp-customer .fp-pay-qr+p{margin:0 0 12px}.fp-customer .fp-history-note{margin:0}.fp-app:has(.fp-customer) .fp-app-header,.fp-app:has(.fp-customer) footer{display:none}.fp-customer-link{text-align:center}.fp-screen-loading{cursor:progress}.fp-screen-loading #fp-screen{opacity:.55;pointer-events:none}.fp-nav-status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#203124;color:#fff;padding:10px 18px;border-radius:10px;z-index:1000;max-width:85vw}.fp-nav-status:empty{display:none}

/* Give the customer a clean full-window view even inside the Woo account. */
body:has(.fp-embedded .fp-customer){overflow:hidden}.fp-embedded:has(.fp-customer){position:fixed;inset:0;z-index:2147483000;overflow:auto;border-radius:0;padding:16px;background:#f3f7f0}.fp-embedded:has(.fp-customer)>p[data-fp-browser-only]{display:none}.fp-embedded .fp-customer{max-width:700px;margin:0 auto}.fp-embedded:has(.fp-customer) .fp-nav-status{display:none}

/* Keep payment controls aligned across native buttons and the edit disclosure. */
.fp-pay .fp-pay-actions>.button,.fp-pay .fp-amount-edit>summary.button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:50px;min-height:50px;line-height:1.4;font-family:inherit;padding:12px 18px}
.fp-pay .fp-confirm-payment{background:#edf0ed;background-image:none;color:#58625a;border:1px solid #d3dad4}.fp-pay .fp-confirm-payment:hover,.fp-pay .fp-confirm-payment:focus-visible{background:#247b42;color:#fff;border-color:#247b42}
.fp-pay .button.fp-payment-confirmed:disabled{background:#247b42!important;color:#fff!important;border:1px solid #247b42!important;opacity:1!important;filter:none!important;cursor:default}


/* Shared date picker: the whole field opens the calendar. */
.fp-pay .fp-daily-filter{align-items:flex-end}.fp-pay .fp-daily-filter>.button{margin:0;height:50px;min-height:50px;box-sizing:border-box}.fp-pay .fp-daily-filter input{font-family:inherit;font-size:16px}
.fp-date-field{position:relative;min-width:180px;max-width:100%;font-size:14px;font-weight:600}.fp-date-field>span{display:block;margin:0 0 6px}.fp-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;height:50px;box-sizing:border-box;padding:10px 14px;border:1px solid #bfd2be;border-radius:10px;background:#fbfcfa;color:#203124;font:inherit;font-size:16px;cursor:pointer}
.fp-calendar{position:absolute;top:100%;left:0;margin-top:8px;z-index:100;width:300px;max-width:calc(100vw - 64px);box-sizing:border-box;padding:12px;border:1px solid #d6e2d2;border-radius:14px;background:white;box-shadow:0 8px 30px #20312424;color:#203124;font-family:inherit;font-size:14px;line-height:1.4}.fp-calendar[hidden]{display:none}
.fp-calendar button{font:inherit;cursor:pointer;color:#203124;background:transparent;border:0;border-radius:50%;min-height:36px;padding:4px}.fp-calendar button:hover{background:#edf3eb}.fp-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.fp-calendar .fp-calendar-header button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;box-sizing:border-box;padding:0;line-height:1;font-size:26px}.fp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.fp-weekday{font-size:12px;color:#626b64;padding:4px 0}.fp-calendar-grid button{position:relative;aspect-ratio:1;min-height:0}.fp-calendar-grid .is-today{background:#ffd65a;color:#203124}.fp-calendar-grid .is-selected{outline:2px solid #79b58a;outline-offset:-2px;font-weight:700}.fp-calendar-grid .has-records:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:#79b58a;bottom:6px;left:calc(50% - 2px)}.fp-calendar .fp-calendar-legend{display:flex;justify-content:flex-start;gap:16px;font-size:11px;margin:12px 0 4px;color:#58625a}.fp-calendar [data-today]{border-radius:8px;color:#247b42;padding:4px 12px}.fp-calendar .fp-calendar-status{font-size:12px;font-weight:400;margin:4px 0 0}.fp-calendar-status:empty{display:none}

.fp-date-field input[hidden]{display:none!important}

.fp-recovery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #d6e2d2}.fp-recovery-actions .fp-delete-link{margin-left:0}

.fp-pay .fp-customer-link .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:6px 10px;margin:0;background:transparent;background-image:none;border:1px solid transparent;box-shadow:none;color:#626b64;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none}.fp-pay .fp-customer-link .button:hover,.fp-pay .fp-customer-link .button:focus,.fp-pay .fp-customer-link .button:active{background:transparent;background-image:none;border-color:transparent;box-shadow:none;color:#247b42}.fp-customer-link svg{flex:none}

.fp-qr-customer-link{display:block;cursor:zoom-in;text-decoration:none;background:transparent;border:0}

.fp-calendar-legend>span{display:inline-flex;align-items:center;gap:5px}.fp-calendar-legend>span:before{content:"";width:8px;height:8px;border-radius:50%;background:#79b58a}.fp-calendar-legend>span:last-child:before{background:#ffd65a}

.fp-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.fp-calendar-footer .fp-calendar-legend{margin:0}.fp-calendar .fp-calendar-footer [data-today]{font-size:12px;min-height:30px;padding:4px 8px;margin:0;line-height:1.4}

/* Branded first render, without delaying a ready app. */
.fp-booting>:not(.fp-boot-loader):not(script){visibility:hidden}.fp-boot-loader{position:fixed;inset:0;z-index:2147483001;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;background:#f3f7f0;color:#58625a;text-align:center;box-sizing:border-box}.fp-boot-loader[hidden]{display:none!important}.fp-boot-loader img{width:230px;max-width:70vw;height:auto}.fp-boot-loader p{margin:0;font:500 14px/1.5 system-ui,sans-serif;letter-spacing:.02em}.fp-boot-track{width:160px;height:4px;overflow:hidden;border-radius:99px;background:#dce8db}.fp-boot-track span{display:block;width:55%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#76b54b,#247b42,#f5c432);animation:fp-boot-progress 1.4s ease-in-out infinite}.fp-embedded.fp-booting{position:relative;min-height:360px}.fp-embedded>.fp-boot-loader{position:absolute;border-radius:inherit;min-height:360px}@keyframes fp-boot-progress{0%{transform:translateX(-100%)}100%{transform:translateX(285%)}}@media(prefers-reduced-motion:reduce){.fp-boot-track span{animation:none;width:100%;opacity:.75}}

.fp-daily-bulk{margin:8px 0}.fp-daily-bulk .fp-delete-link{margin:0}

/* Preview loads only 15 rows; older history is requested on demand. */
.fp-history-more{display:flex;justify-content:center;padding:12px 0 18px;position:relative}.fp-history-preview .fp-history-more{margin-top:-24px;padding-top:44px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 44px)}.fp-history-preview .fp-request-list{padding-bottom:8px}.fp-history-more .button{position:relative;z-index:1}.fp-history-preview .fp-history-more:before{content:"";position:absolute;inset:0;pointer-events:none}

.fp-history-preview .fp-request-list{margin-bottom:0;padding-bottom:0}.fp-history-preview .fp-history-more{margin-top:-45px;padding-top:60px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 52px)}

.fp-account-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 20px;font-size:13px;color:#626b64}.fp-account-identity{overflow-wrap:anywhere}.fp-account-login{font-size:12px}.fp-account-bar .fp-account-logout{margin-left:auto;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center}.fp-environment{padding:3px 8px;border-radius:6px;background:#e8eee4;color:#58625a;font-size:11px}.fp-app:has(.fp-customer) .fp-account-bar{display:none}@media(max-width:480px){.fp-account-bar .fp-environment{flex-basis:100%;width:fit-content;background:transparent;padding:0}}

.fp-pay .fp-history-more a.button{background:transparent;background-image:none;border:0;box-shadow:none;color:#626b64;font-size:14px;font-weight:500;padding:8px 12px;min-height:36px;text-decoration:none}.fp-pay .fp-history-more a.button:hover,.fp-pay .fp-history-more a.button:focus-visible,.fp-pay .fp-history-more a.button:active{background:transparent;background-image:none;border:0;box-shadow:none;color:#247b42;text-decoration:underline}

/* Compact seller dashboard payment detail. Native dialog traps focus and supports Escape. */
.fp-sale-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid #e2e8df;font-size:13px}
.fp-sale-payment>span{color:#5a655c}.fp-sale-payment>a{color:#237b45;font-weight:600;text-decoration:none;white-space:nowrap}
.fp-sale-payment-dialog{box-sizing:border-box;width:calc(100% - 28px);max-width:640px;max-height:90vh;max-height:90dvh;margin:auto;padding:20px;border:1px solid #d5e0d1;border-radius:18px;background:#fff;color:#243428;overflow:auto;box-shadow:0 20px 80px #14271933}
.fp-sale-payment-dialog:not([open]){display:none}.fp-sale-payment-dialog::backdrop{background:#15271966}
.fp-sale-payment-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.fp-sale-payment-dialog__header h2{margin:0;font-size:18px}
.fp-sale-payment-dialog__header button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#f1f5ee;color:#314638;font-size:26px;cursor:pointer}
.fp-sale-payment-dialog .fp-pay-card{margin:0;border:0;padding:0}.fp-sale-payment-dialog .fp-pay-qr svg{max-width:100%;height:auto}
.fp-sale-payment a:focus-visible,.fp-sale-payment-dialog button:focus-visible{outline:2px solid #237b45;outline-offset:4px}

/* Marketplace wordmark: equal-sized default and hover variants. */
.fp-shared-account .fp-shared-icon{display:none}
.fp-shared-account .fp-shared-label{display:grid;width:210px;height:29px}
.fp-shared-account .fp-shared-label img{grid-area:1 / 1;width:210px;height:29px}
.fp-shared-label .fp-label-color{opacity:0}
.fp-shared-account:hover .fp-label-default,.fp-shared-account:focus-visible .fp-label-default{opacity:0}
.fp-shared-account:hover .fp-label-color,.fp-shared-account:focus-visible .fp-label-color{opacity:1}
@media(max-width:480px){
.fp-app-header{gap:12px}.fp-app-header>a:first-child{max-width:48%}
.fp-app-header .fp-shared-account{padding:4px;min-width:0;align-self:center}
.fp-shared-account .fp-shared-icon{display:none}
.fp-shared-account .fp-shared-label{display:grid;width:clamp(120px,40vw,180px);height:auto;aspect-ratio:243.85/33.32}
.fp-shared-account .fp-shared-label img{width:100%;height:auto}
}

/* Account controls stay below the working area. */
.fp-account-bar{margin:28px 0 16px;padding-top:16px;border-top:1px solid #dce5d7;gap:8px 20px;font-size:12px}
.fp-account-identity{flex:1 1 220px;min-width:0}
.fp-account-login{font-size:12px}
.fp-account-bar .fp-account-logout{min-height:44px;text-decoration:none;padding:0 8px;border-radius:8px}
.fp-account-bar .fp-account-logout:hover{background:#e8eee4;text-decoration:underline}

/* Final account section, after all footer content. */
.fp-account-bar{margin:24px 0 0;padding:16px 20px;background:#e6eee1;border:1px solid #d6e2cf;border-radius:14px;color:#425640}
.fp-account-identity strong{color:#243d2b}
.fp-account-bar .fp-account-logout:hover{background:#d7e4d0}
@media(max-width:480px){.fp-account-bar{padding:14px 16px;gap:4px 12px}.fp-account-identity{flex-basis:180px}}
/* The home screen does not need the payment-detail notice. */
.fp-app:has(#fp-screen .fp-home-choices) footer>p:first-child{display:none}
/* History continuation is a quiet, left-aligned text action. */
.fp-app .fp-pay .fp-history-more{justify-content:flex-start}
.fp-app .fp-pay .fp-history-more a.button,
.fp-app .fp-pay .fp-history-more a.button:hover,
.fp-app .fp-pay .fp-history-more a.button:focus-visible,
.fp-app .fp-pay .fp-history-more a.button:active{display:inline-flex;align-items:center;gap:8px;background:transparent!important;background-image:none;border:0!important;box-shadow:none;border-radius:0;padding:8px 0;margin:0;min-height:44px;color:#206135!important;font-size:14px;font-weight:500;text-decoration:none}
.fp-app .fp-pay .fp-history-more a.button::after{content:"";width:16px;height:16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.fp-app .fp-pay .fp-history-more a.button:hover{text-decoration:underline;text-underline-offset:3px}
