/* Chef Kyoku's Kitchen Key recovery dialog. Isolated from the main MealMate styles. */
.mm-forgot-link { display:block; width:max-content; margin:0 auto 12px; border:0; background:none; color:#865936; text-decoration:underline; text-underline-offset:3px; font:900 12px/1.5 system-ui,sans-serif; cursor:pointer; padding:7px 10px; }
.mm-forgot-link:hover {color:#b4532a;}
.mm-forgot-link[hidden],.mm-recovery-overlay[hidden],#mmRecoveryEmailForm[hidden],#mmRecoveryPasswordForm[hidden] {display:none!important;}
.mm-recovery-overlay {position:fixed; inset:0; z-index:65; display:flex; align-items:center; justify-content:center; background:rgba(43,22,12,.78); padding:18px; padding-bottom:calc(18px + env(safe-area-inset-bottom)); backdrop-filter:blur(5px); overflow-y:auto;}
.mm-recovery-open {overflow:hidden;}
.mm-recovery-panel {width:min(100%,490px); max-height:calc(100dvh - 44px); overflow-y:auto; position:relative; background:#fff6df; border:5px solid #62402b; border-radius:20px; padding:24px 24px 26px; box-shadow:7px 9px 0 #96643e; text-align:center; color:#573b27;}
.mm-recovery-banner {background:#f7d79d; border:2px solid #9d6841; border-radius:12px; color:#845237; padding:8px; font-size:10px; font-weight:1000; letter-spacing:.8px;}
.mm-recovery-seal {width:58px; height:58px; border-radius:16px; background:#e9a374; border:3px solid #6d472e; color:#fff9ed; margin:14px auto 9px; display:grid; place-items:center; font-size:29px; box-shadow:3px 4px 0 #c78155; transform:rotate(-5deg);}
.mm-recovery-panel h2 {font:1000 clamp(23px,6vw,30px)/1.15 system-ui,sans-serif; color:#50321d; margin:12px 0 8px;}
.mm-recovery-panel p {font-size:13px; line-height:1.6; margin:0 0 17px; color:#815f45;}
.mm-recovery-panel form {text-align:left;}
.mm-recovery-field,.mm-recovery-fieldset>label {display:block; font-size:12px; font-weight:900; margin:12px 0 6px; color:#573b27;}
.mm-recovery-panel input {font:inherit; font-size:16px; min-height:47px; border:3px solid #62402b; border-radius:10px; padding:10px 12px; background:#fffefa; color:#50321d; width:100%; min-width:0; outline-offset:3px;}
.mm-recovery-password-row {display:flex; align-items:stretch; gap:8px;}
.mm-recovery-password-row input {flex:1;}
.mm-recovery-password-row button {flex:none; width:64px; border:2px solid #62402b; border-radius:10px; background:#efd6aa; color:#573b27; font:900 13px system-ui,sans-serif; cursor:pointer; transform:none!important;}
.mm-recovery-password-row button:active {background:#e0bb85; transform:none!important;}
.mm-recovery-primary,.mm-recovery-secondary {display:block; width:100%; min-height:47px; border:3px solid #62402b; border-radius:11px; margin-top:16px; font:1000 13px system-ui,sans-serif; cursor:pointer; box-shadow:2px 3px 0 #9f6c48;}
.mm-recovery-primary {background:#a9d0a8;color:#264a31;}
.mm-recovery-secondary {background:#fff9e8;color:#664632;}
.mm-recovery-primary:disabled {cursor:wait;opacity:.6;}
.mm-recovery-panel .mm-recovery-message {min-height:24px; font-weight:800; font-size:12px; margin:14px 0 0; color:#7d6244;}
.mm-recovery-message[data-kind="success"] {color:#31714a;}
.mm-recovery-message[data-kind="error"] {color:#b6382b;}
@media (max-width:420px) {.mm-recovery-overlay{padding:12px}.mm-recovery-panel{padding:16px 16px 20px;border-width:3px;box-shadow:4px 6px 0 #96643e}.mm-recovery-panel h2{font-size:24px}}

.mm-recovery-inline{display:block;margin:14px auto 0;padding:6px 12px;border:none;background:none;text-decoration:underline;text-underline-offset:3px;font:900 12px system-ui,sans-serif;color:#87593e;cursor:pointer;}
