/* Moso Foods - Login / Register (v1). Prefix: au- */
.au-page{min-height:70vh;background:linear-gradient(180deg,#F1F8F1 0,#FAFAF9 360px);padding:40px 16px 90px;display:flex;justify-content:center;align-items:flex-start;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1C1917}
.au-card{width:100%;max-width:440px;background:#fff;border:1px solid #E7E5E4;border-radius:20px;padding:32px 28px 28px;box-shadow:0 28px 56px -34px rgba(18,65,22,.4)}
.au-card.wide{max-width:480px}
.au-head{text-align:center;margin-bottom:24px}
.au-logo{display:inline-block;margin-bottom:14px}
.au-logo img{height:54px;width:auto;display:block}
.au-head h1{font-family:Poppins,Inter,sans-serif;font-size:25px;line-height:1.25;font-weight:700;margin:0 0 6px}
.au-head p{margin:0;color:#57534E;font-size:14.5px}

.au-alert{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;margin-bottom:18px;font-size:14px;line-height:1.5}
.au-alert i{margin-top:3px}
.au-alert.err{background:#FEF2F1;border:1px solid #FBD0CC;color:#B42318}
.au-alert.ok{background:#E8F5E9;border:1px solid #C8E6C9;color:#124116}
.au-alert[hidden]{display:none}

.au-field{margin-bottom:16px}
.au-field label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:#44403C}
.au-input{position:relative;display:flex;align-items:center}
.au-input>i.ic{position:absolute;left:14px;color:#A8A29E;font-size:15px;pointer-events:none;transition:color .2s}
.au-input input{width:100%;height:50px;padding:0 44px 0 42px;border:1.5px solid #E7E5E4;border-radius:12px;font-size:15.5px;font-family:inherit;color:#1C1917;background:#fff;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.au-input input::placeholder{color:#A8A29E}
.au-input input:focus{outline:0;border-color:#1B5E20;box-shadow:0 0 0 4px rgba(27,94,32,.12)}
.au-input input:focus~i.ic,.au-input:focus-within>i.ic{color:#1B5E20}
.au-input .pre{position:absolute;left:42px;font-size:15.5px;font-weight:600;color:#44403C;pointer-events:none}
.au-input.has-pre input{padding-left:80px}
.au-eye{position:absolute;right:6px;width:38px;height:38px;border:0;background:none;color:#78716C;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}
.au-eye:hover{background:#F5F5F4;color:#1B5E20}

.au-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 20px;flex-wrap:wrap}
.au-check{display:flex;align-items:center;gap:8px;font-size:14px;color:#44403C;cursor:pointer}
.au-check input{width:18px;height:18px;accent-color:#1B5E20;margin:0}
.au-link{color:#1B5E20;font-weight:600;font-size:14px;text-decoration:none}
.au-link:hover{text-decoration:underline;color:#124116}

.au-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:0 18px;border:1.5px solid transparent;border-radius:12px;background:#1B5E20;color:#fff;font-family:inherit;font-size:15.5px;font-weight:600;cursor:pointer;text-decoration:none;box-shadow:0 10px 22px -12px rgba(27,94,32,.75);transition:background .2s,transform .15s,border-color .2s}
.au-btn:hover{background:#124116;color:#fff}
.au-btn:active{transform:scale(.99)}
.au-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}
.au-btn.alt{background:#fff;color:#1B5E20;border-color:#C8E6C9;box-shadow:none;min-height:48px;font-size:15px}
.au-btn.alt:hover{background:#E8F5E9;border-color:#1B5E20;color:#124116}
.au-btn.wa{background:#fff;color:#0E7A52;border-color:#BFE8D2;box-shadow:none;min-height:48px;font-size:15px}
.au-btn.wa i{color:#25D366;font-size:19px}
.au-btn.wa:hover{background:#F0FFF6;border-color:#25D366;color:#0A5C3E}
.au-spin{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:auspin .8s linear infinite;display:none}
.au-btn.is-loading .au-spin{display:inline-block}
.au-btn.is-loading .au-t{opacity:.85}
@keyframes auspin{to{transform:rotate(360deg)}}

.au-or{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:#78716C;font-size:13px}
.au-or:before,.au-or:after{content:"";flex:1;height:1px;background:#E7E5E4}
.au-alts{display:grid;gap:10px}

.au-foot{text-align:center;margin-top:24px;font-size:14.5px;color:#57534E}
.au-foot a.au-link{font-size:14.5px}
.au-back{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:#78716C;text-decoration:none}
.au-back:hover{color:#1B5E20}

/* OTP panel */
.au-panel[hidden]{display:none}
.au-ptitle{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-family:Poppins,Inter,sans-serif;font-size:18px;font-weight:700}
.au-ptitle i{font-size:22px}
.au-ptitle i.wa{color:#25D366}
.au-ptitle i.sm{color:#1B5E20}
.au-psub{margin:0 0 18px;color:#57534E;font-size:14px;line-height:1.5}
.au-otp input{text-align:center;letter-spacing:.55em;font-size:22px;font-weight:700;padding:0 12px 0 calc(12px + .55em)}
.au-meta{display:flex;justify-content:space-between;align-items:center;margin:10px 0 18px;font-size:13.5px;color:#57534E;gap:10px;flex-wrap:wrap}
.au-meta button{background:none;border:0;padding:0;font:inherit;font-weight:600;color:#1B5E20;cursor:pointer}
.au-meta button:disabled{color:#A8A29E;cursor:not-allowed}
.au-meta button:hover:not(:disabled){text-decoration:underline}

/* register */
.au-bar{height:4px;background:#F0EFED;border-radius:99px;margin-top:8px;overflow:hidden}
.au-bar span{display:block;height:100%;width:0;border-radius:99px;transition:width .25s,background .25s}
.au-bar.weak span{width:33%;background:#DD2B1C}
.au-bar.medium span{width:66%;background:#F59E0B}
.au-bar.strong span{width:100%;background:#1B5E20}
.au-hint{margin-top:6px;font-size:12.5px;color:#78716C}
.au-terms{display:flex;gap:10px;align-items:flex-start;margin:4px 0 20px;font-size:13.5px;line-height:1.5;color:#44403C}
.au-terms input{width:18px;height:18px;accent-color:#1B5E20;margin:2px 0 0;flex:none}
.au-terms a{color:#1B5E20;font-weight:600;text-decoration:none}
.au-terms a:hover{text-decoration:underline}

@media(max-width:520px){
  .au-page{padding:20px 12px 110px}
  .au-card{padding:26px 18px 22px;border-radius:18px}
  .au-head h1{font-size:22px}
  .au-logo img{height:46px}
}
@media(prefers-reduced-motion:reduce){.au-btn,.au-input input,.au-spin{transition:none;animation:none}}
