.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--bg,#f6f5f0)}
.auth-card{width:min(100%,480px);background:#fff;border:1px solid #dce0d7;border-radius:20px;padding:32px;color:#24362d}
.auth-brand{display:inline-block;font-size:22px;font-weight:800;letter-spacing:.04em;margin-bottom:24px;color:inherit;text-decoration:none}
.auth-card h1{font-size:26px;margin-bottom:12px}.auth-card p{line-height:1.7;margin-bottom:18px}
.auth-card form{display:grid;gap:16px}.auth-card .form-field{display:grid;gap:8px}.auth-card .form-field[hidden]{display:none}
.auth-card input,.auth-card select{width:100%;min-height:44px;border:1px solid #ccd3cb;border-radius:8px;padding:10px;font:inherit;background:white;color:inherit}
.auth-card small,.auth-note{font-size:12px;color:#59685e}.auth-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;font-size:13px}
.auth-feedback{color:#34634b}.auth-feedback:empty,.form-error:empty{display:none}.form-error{color:#a53425}.auth-card button{min-height:44px;justify-content:center}
.consent-field{display:flex;align-items:flex-start;gap:10px;margin:16px 0;line-height:1.6;font-size:13px}.consent-field input{width:18px;flex-shrink:0;margin-top:4px}
.account-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.account-actions span{font-size:12px}.account-actions button{white-space:nowrap}
button:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b76a42;outline-offset:3px}
@media(max-width:600px){.auth-card{padding:24px}.account-actions span{display:none}}

@media(max-width:800px){.site-nav .nav-links{gap:10px;flex-wrap:wrap;justify-content:flex-end}.site-nav .nav-links>a[href="/supplier/"],.site-nav .nav-links>a[href="#/login"]{display:inline-flex}}

.auth-page{min-height:100svh;min-height:100dvh;padding:max(40px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.auth-card{padding:clamp(24px,5vw,40px);border-color:var(--line,#dedfd7);border-radius:16px;color:var(--ink,#20221f)}
.auth-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-bottom:26px;font-size:20px;letter-spacing:-.025em}
.auth-brand::before{content:"M";display:grid;place-items:center;width:29px;height:31px;background:#f45d3e;color:#fff;border-radius:8px 8px 10px 3px;font-size:21px}
.auth-card h1{margin:0 0 10px;font-size:30px;line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
.auth-card p{line-height:1.7;overflow-wrap:anywhere}
.auth-intro{font-size:14px;color:var(--auth-secondary,#596359)}
.auth-card form{gap:20px}
.auth-card .form-field{gap:9px;font-size:14px;font-weight:550}
.auth-card input,.auth-card select{min-width:0;min-height:48px;padding:12px 13px;border-color:#899486;font-size:16px;font-weight:400;caret-color:var(--accent,#b4422b);transition:border-color 140ms ease}
.auth-card input::placeholder{color:#626c60;opacity:1}
.auth-card input:focus,.auth-card select:focus{border-color:var(--accent,#b4422b)}
.auth-card small,.auth-note{font-size:12px;font-weight:400;line-height:1.7;color:var(--auth-secondary,#596359)}
.auth-card .auth-note{margin:0}
.auth-note a{text-decoration:underline;text-underline-offset:3px}
.auth-card .btn{width:100%;min-height:48px;margin-top:4px;font-size:15px}
.auth-card .btn.orange{background:var(--auth-action,#b4422b);color:#fff}
.auth-links{gap:0 18px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line,#dedfd7)}
.auth-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--auth-secondary,#596359);text-underline-offset:4px}
.auth-feedback{padding:14px 16px;border-radius:8px;background:#edf4e9;color:#315c3c;font-size:13px}
.auth-card .form-error{margin:0;padding:12px 14px;background:#fff0e9;border-radius:8px;color:#9c321e;font-size:13px}
.account-actions{min-width:0}
.account-actions span{font-size:13px;overflow-wrap:anywhere}
.account-actions button{min-height:44px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus,#9b4d29)}
@media(hover:hover) and (pointer:fine){.auth-links a:hover{color:var(--ink,#20221f);text-decoration:underline}.auth-card .btn.orange:hover{background:var(--auth-action-hover,#91341f)}}
@media(max-width:600px){.auth-page{place-items:start center;padding-top:max(28px,env(safe-area-inset-top))}.auth-card{padding:26px 22px}.auth-card h1{font-size:28px}.auth-brand{margin-bottom:22px}}
@media(max-height:720px){.auth-page{place-items:start center}}
