/* Farm Mtaani account recovery. Scoped: all four pages, accessible on mobile. */
.fm-forgot-password-button{display:block!important;margin:2px 0 15px auto!important;border:0!important;background:transparent!important;color:#21523a!important;padding:4px 2px!important;text-decoration:underline;text-underline-offset:3px;font:600 .81rem 'IBM Plex Sans',Arial,sans-serif!important;cursor:pointer;line-height:1.4}
.fm-forgot-password-button:hover{color:#a36c43!important}
.fm-forgot-password-button:focus-visible{outline:3px solid #d4a067!important;outline-offset:2px;border-radius:3px}
.fm-recovery-overlay[hidden],.fm-recovery-overlay [hidden]{display:none!important}
.fm-recovery-overlay{position:fixed;inset:0;z-index:100000;background:rgba(14,33,23,.64);padding:20px;display:flex;justify-content:center;align-items:center;overflow:auto}
body.fm-recovery-open{overflow:hidden}
.fm-recovery-dialog{width:min(100%,465px);max-height:min(91dvh,850px);overflow-y:auto;overflow-x:hidden;background:#fffdf8;border:1px solid #d9d9ca;border-radius:12px;padding:25px 29px 30px;box-shadow:0 20px 58px rgba(12,31,17,.18);font-family:'IBM Plex Sans',Arial,sans-serif;color:#273329}
.fm-recovery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.fm-recovery-header h2{font:500 clamp(1.6rem,3.8vw,2.12rem)/1.22 'Fraunces',Georgia,serif!important;color:#22442e;letter-spacing:-.04em}
.fm-recovery-close{font:400 1.65rem/1 'IBM Plex Sans',sans-serif;border:1px solid #e1d9cc;background:transparent;border-radius:5px;height:35px;width:35px;flex:0 0 35px;color:#526257;cursor:pointer;box-shadow:none}
.fm-recovery-close:hover{background:#eeeee5}
.fm-recovery-intro{font-size:.88rem;line-height:1.7;color:#657466;margin:0 0 23px}
.fm-recovery-dialog label{display:block;font-size:.84rem;font-weight:700;color:#2d4032;margin:17px 0 8px}
.fm-recovery-dialog input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #c8d2c6;border-radius:7px;background:#fffefc;color:#27392d;padding:13px 14px;font:500 1rem 'IBM Plex Sans',sans-serif;outline:none}
.fm-recovery-dialog input:focus{border-color:#346947;box-shadow:0 0 0 3px rgba(52,105,71,.12)}
.fm-recovery-dialog #fm-recovery-code-input{font-variant-numeric:tabular-nums;font-size:1.45rem;letter-spacing:.17em;text-align:center}
.fm-recovery-primary{display:block;width:100%;min-height:46px;background:#214e37!important;color:white!important;border:1px solid #214e37!important;border-radius:6px!important;font:700 .92rem 'IBM Plex Sans',sans-serif!important;margin:22px 0 0;cursor:pointer;box-shadow:none!important}
.fm-recovery-primary:hover{background:#153d29!important}
.fm-recovery-primary:disabled{opacity:.6;cursor:wait}
.fm-recovery-inline-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;flex-wrap:wrap}
.fm-recovery-text-action{border:0!important;background:transparent!important;color:#265c3e!important;cursor:pointer;padding:7px 0!important;font:600 .83rem 'IBM Plex Sans',sans-serif!important;text-decoration:underline;text-underline-offset:3px;box-shadow:none!important}
.fm-recovery-text-action:disabled{opacity:.65;cursor:wait}
.fm-recovery-status{margin:17px 0 0;font-size:.82rem;min-height:18px;line-height:1.58;color:#657067}
.fm-recovery-status[data-kind="error"]{color:#a34136;font-weight:600}
.fm-recovery-status[data-kind="success"]{color:#28633f}
.fm-recovery-password-wrap{position:relative;display:flex;align-items:center;min-width:0}
.fm-recovery-password-wrap input{padding-right:65px}
.fm-recovery-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:.78rem;border:0!important;border-radius:5px!important;background:transparent!important;color:#20523a!important;cursor:pointer;padding:10px!important;min-width:52px;box-shadow:none!important}
.fm-recovery-eye:hover{background:#e9efe6!important}
.fm-recovery-dialog button:focus-visible{outline:3px solid #c9965e;outline-offset:2px}
@media(max-width:620px){.fm-recovery-overlay{padding:0;align-items:flex-end}.fm-recovery-dialog{width:100%;max-width:none;border-radius:15px 15px 0 0;padding:23px 19px max(30px,env(safe-area-inset-bottom));max-height:92dvh}.fm-recovery-header h2{font-size:1.8rem}.fm-recovery-intro{margin-bottom:17px}}
@media(prefers-reduced-motion:reduce){.fm-recovery-dialog *{transition:none!important;animation:none!important}}
