/* Isolated auth component: no account/checkout field or global dialog overrides. */
.michel-auth-modal{--ma-green:#689f38;--ma-columns:42% 58%;--ma-pane-padding:28px;position:fixed;inset:0;box-sizing:border-box;width:min(760px,calc(100vw - 40px));max-width:760px;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #e8ece5;border-radius:20px;background:#fff;color:#1e1e1e;box-shadow:0 24px 70px #14260c26;overflow:auto;overscroll-behavior:contain;font-size:14px}
/* Native showModal() supplies a viewport top layer above sticky/header stacking contexts. */
.michel-auth-modal::backdrop{background:rgb(0 0 0 / .38);backdrop-filter:none}
.michel-auth-modal[open]{animation:ma-enter .16s ease-out}
.michel-auth-modal[open]::backdrop{animation:ma-fade .16s ease-out}
.ma-layout{display:grid;grid-template-columns:var(--ma-columns,40% 60%);align-items:center}
.ma-mobile-header{display:none}
.ma-welcome{display:flex;flex-direction:column;align-self:stretch;justify-content:center;gap:16px;padding:var(--ma-pane-padding,26px);background:var(--michel-ui-soft-bg,#f3f8ed);color:var(--michel-ui-text,#1e1e1e)}
.ma-welcome-label{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:1px;line-height:1.4}
.ma-welcome-symbol{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:12px;background:#fff}
.ma-welcome h2{font-size:22px;font-weight:700;line-height:1.2;margin:0;letter-spacing:-.3px}
.ma-welcome p{margin:0;color:var(--michel-ui-muted,#666);font-size:13px;line-height:1.5}
.ma-welcome ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.ma-welcome li{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.5}
.ma-welcome svg{width:20px;height:20px;color:var(--michel-control-green,#689f38);flex:none}
.ma-content{position:static;padding:var(--ma-pane-padding,28px 26px);min-width:0}
.ma-content :is(h1,h2){font-size:24px;line-height:1.2;margin:0 0 10px;padding-right:24px}
.ma-content>p:first-of-type{color:#666;font-size:13px;line-height:1.5;margin:0 0 16px}
.michel-auth-component button{font:inherit;cursor:pointer;box-shadow:none}.ma-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;padding:10px;background:transparent;border:0;border-radius:50%;color:#666}.ma-close:hover{background:#f3f8ed;color:#527f29}.ma-close svg{width:20px;height:20px}
.ma-form label{display:block;margin-bottom:8px;font-weight:500;font-size:13px}.ma-form input{box-sizing:border-box;display:block;width:100%;height:46px;min-width:0;padding:0 13px;border:1px solid var(--michel-ui-border,#dce7d4);border-radius:12px;background:var(--michel-ui-bg,#f5f8f2);font:inherit;font-size:16px;color:#1e1e1e;box-shadow:none;outline:0}.ma-form input:focus{border-color:#7cb342;box-shadow:none;outline:0}.ma-form input:focus-visible{border-color:#527f29}.ma-form input[aria-invalid=true]{border-color:#b43f35}.ma-form input:disabled{opacity:.65}.ma-form .ma-code{font-size:24px;font-weight:600;letter-spacing:8px;text-align:center;font-variant-numeric:tabular-nums}
.ma-contact-field{position:relative}
.ma-contact-field #ma-contact{height:48px;padding-right:42px;font-size:14px}
.ma-contact-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);display:flex;pointer-events:none;color:var(--michel-control-green,#689f38)}
.ma-contact-icon span{display:flex}.ma-contact-icon svg{width:20px;height:20px}
.ma-form .ma-contact-hint{min-height:36px;font-size:12px;line-height:18px;color:var(--michel-ui-muted,#666);margin:6px 0 0}
.ma-form .ma-primary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;width:100%;padding:10px 12px;margin-top:8px;border:1px solid transparent;border-radius:12px;background:var(--ma-green);color:#fff;font-weight:600;transition:background .15s}.ma-primary svg{color:inherit;width:18px;height:18px}.ma-form .ma-primary:not(:where(:disabled,[disabled],[aria-disabled=true],.disabled,.loading,.is-loading,[aria-busy=true])):hover{background:#568f24}.ma-form .ma-primary:is(:disabled,[aria-disabled=true],.disabled,.loading,.is-loading,[aria-busy=true]){background:var(--michel-disabled-bg,#e4e9df);color:var(--michel-disabled-ink,#687060);border-color:var(--michel-disabled-bg,#e4e9df);box-shadow:none;transform:none;cursor:not-allowed}
/* The existing request lock drives loading; keep the focus outline independent. */
.ma-form[aria-busy=true] button:disabled{cursor:progress}
.ma-form[aria-busy=true] .ma-primary svg{display:none}
.ma-form[aria-busy=true] .ma-primary::after{content:"";box-sizing:border-box;flex:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ma-button-spin .8s linear infinite}
@keyframes ma-button-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ma-form[aria-busy=true] .ma-primary::after{animation:none}}
.ma-hint{font-size:12px;line-height:1.5;color:#666;text-align:center;margin:8px 0 0}.ma-delivery{font-size:13px;line-height:1.5;color:#666;margin:0 0 12px;overflow-wrap:anywhere}.ma-code-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.ma-code-actions button{min-height:44px;border:0;padding:6px 0;background:none;color:var(--ma-green);font-size:12px}.ma-code-actions button:disabled{color:#666;cursor:default}.ma-form p{line-height:1.6}.ma-form .ma-privacy{margin:10px 0 0;font-size:11px;line-height:1.5;color:var(--michel-ui-muted)}.ma-privacy a{color:#527f29;text-decoration:underline;text-underline-offset:3px}.michel-auth-component button:focus-visible,.michel-auth-component a:focus-visible{outline:2px solid #527f29;outline-offset:3px}
.michel-auth-component [hidden]{display:none!important}/* Match the native hidden attribute against component display rules. */
html.michel-auth-open{overflow:hidden}.michel-auth-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;background:#f3f8ed;border-radius:12px;margin-bottom:16px;font-size:13px}.michel-auth-entry button{min-height:44px;padding:8px 12px;border:1px solid #c9ddbb;border-radius:10px;background:#fff;color:#527f29;font:inherit;font-weight:600;cursor:pointer}
@keyframes ma-enter{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(max-width:767px){.michel-auth-modal{--ma-pane-padding:20px;top:calc(var(--ma-offset,0px) + env(safe-area-inset-top));bottom:calc(100% - var(--ma-offset,0px) - var(--ma-viewport,100dvh) + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:420px;max-height:calc(var(--ma-viewport,100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.ma-layout{display:block}.ma-welcome{display:none}.ma-mobile-header{display:flex;align-items:center;min-height:60px;padding:12px 20px;background:var(--michel-ui-soft-bg,#f3f8ed)}.ma-mobile-name{font-size:18px;font-weight:700;letter-spacing:.5px;line-height:1.4}.ma-content{padding:20px}.ma-content :is(h1,h2){font-size:22px;padding-right:0}.ma-close{top:8px;right:8px}.ma-content>p:first-of-type{margin-bottom:16px}.ma-code-actions{gap:2px}.ma-code-actions button{font-size:11px}}
@keyframes ma-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.michel-auth-modal[open],.michel-auth-modal[open]::backdrop{animation:none}.ma-form .ma-primary{transition:none}}

/* Inline account presentation shares all form states with the dialog. */
.michel-auth-page{position:relative;--ma-green:#689f38;box-sizing:border-box;width:100%;max-width:820px;margin:12px auto 40px;background:#fff;color:var(--michel-ui-text,#1e1e1e);border:1px solid #e8ece5;border-radius:18px;font-size:14px}
.michel-auth-page .ma-layout{grid-template-columns:40% 60%}
.michel-auth-page .ma-welcome{border-radius:17px 0 0 17px}
.michel-auth-page .ma-content :is(h1,h2){padding-right:0}
.michel-auth-page .ma-primary:not(:where(:disabled,[disabled],[aria-disabled=true],.disabled,.loading,.is-loading,[aria-busy=true])):hover{background:#568f24}
@media(max-width:767px){
 .michel-auth-page{max-width:440px;margin:0 auto 24px}
 .michel-auth-page .ma-layout{display:block}
 .michel-auth-page .ma-mobile-header{border-radius:17px 17px 0 0}
 .michel-auth-page .ma-content{padding:20px}
 .michel-auth-page .ma-content :is(h1,h2){padding-right:0;font-size:24px}
}

.ma-help-toggle{display:block;min-height:44px;margin:2px auto 0;padding:4px 0;border:0;background:transparent;color:var(--michel-ui-active-text);font-size:12px;text-decoration:underline;text-underline-offset:3px}
.ma-help{padding:12px 14px;margin-top:8px;border:1px solid var(--michel-ui-border);border-radius:12px;background:var(--michel-ui-soft-bg);font-size:12px;color:var(--michel-ui-muted);line-height:1.6}
.ma-help p{margin:0}.ma-help .ma-help-title{margin-bottom:4px;color:var(--michel-ui-text);font-size:13px;line-height:1.4}
.ma-help-actions{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin-top:4px}
.ma-help-actions button{min-height:44px;padding:4px 0;border:0;background:transparent;color:var(--michel-ui-active-text);font-size:12px}
.ma-help-actions button:disabled{color:var(--michel-ui-muted);cursor:default}

