@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&display=swap";:root{font-family:Be Vietnam Pro,Arial,sans-serif;color:#14283a;background:#0b2f4d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #087fe7;--primary-dark: #066cc5;--navy: #0c3152;--login-logo-width: 160px;--login-card-width: 460px}*{box-sizing:border-box}html{height:100%}html,body,#root{min-width:0;min-height:100%}body{margin:0;overflow-x:hidden}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.72}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #58c7f1;outline-offset:3px}button svg{flex-shrink:0}a{color:inherit}.page-shell{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:flex;padding:clamp(16px,4vw,48px);overflow-x:clip;color:#fff}.background-image,.background-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2}.background-image{background:url(/images/vietnam-grocery.png) center 52% / cover no-repeat;transform:scale(1.015)}.background-overlay{z-index:-1;background:radial-gradient(circle at 50% 42%,rgba(26,139,205,.12),transparent 38%),linear-gradient(#031c31bd,#031729d6);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.login-layout{width:min(var(--login-card-width),100%);min-width:0;margin:auto}.login-card{width:100%;min-width:0;padding:clamp(28px,4vw,38px) clamp(24px,4vw,40px) 30px;color:#14283a;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:#fffffff7;box-shadow:0 28px 80px #000f1c66}.brand{display:block;width:var(--login-logo-width);max-width:55%;margin:0 auto 20px;pointer-events:none;-webkit-user-select:none;user-select:none}.brand img{display:block;width:100%}.welcome{text-align:center}.welcome h2{margin:0 0 28px;color:#102b43;font-size:clamp(24px,3vw,27px);letter-spacing:-.7px}.login-form{width:100%}.field-group{margin-bottom:16px}.field-group label{display:block;margin:0 0 8px;color:#233d51;font-size:10px;font-weight:600}.input-wrap{min-height:48px;display:flex;align-items:center;gap:11px;padding:0 13px;border:1px solid #d5dee6;border-radius:8px;background:#fff;transition:border-color .18s,box-shadow .18s}.input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #087fe71f}.input-wrap>svg{color:#8ca0b1;stroke-width:1.7}.input-wrap input{width:100%;min-width:0;padding:14px 0;border:0;outline:0;color:#17344a;background:transparent;font-size:11px}.input-wrap input::placeholder{color:#96a6b5}.icon-button{padding:5px;display:grid;place-items:center;border:0;border-radius:6px;color:#8297a7;background:transparent}.icon-button:hover{color:var(--primary);background:#edf7ff}.form-options{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:1px 0 21px}.remember-option{display:flex;align-items:center;gap:7px;color:#536879;font-size:10px;cursor:pointer}.remember-option input{width:15px;height:15px;margin:0;accent-color:var(--primary)}.text-button{padding:0;display:inline-flex;align-items:center;gap:4px;border:0;color:var(--primary);background:transparent;font-size:10px;font-weight:600}.text-button:hover{color:var(--primary-dark);text-decoration:underline}.primary-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,#0989f2,#0875db);box-shadow:0 8px 20px #087fe73d;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#0780e6,#066ac7);box-shadow:0 10px 24px #087fe752}.signup{margin:20px 0 0;text-align:center;color:#738496;font-size:10px}.invalid{border-color:#d34848}.field-error{margin:6px 0 0;color:#bd3434;font-size:9px;line-height:1.5}.form-message{margin:-2px 0 15px;padding:10px;border:1px solid #f0d5b0;border-radius:7px;color:#865a27;background:#fff5e8;font-size:9px;line-height:1.65}dialog{max-width:440px;width:calc(100% - 36px);max-height:calc(100dvh - 32px);padding:35px;overflow-y:auto;border:1px solid #e1e8eb;border-radius:16px;color:var(--navy);box-shadow:0 25px 80px #061c2f59}dialog::backdrop{background:#021424ad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog .eyebrow{color:var(--primary);font-size:9px;font-weight:700;letter-spacing:1.2px}dialog h2{margin:17px 0 12px;font-size:22px}dialog p{margin-bottom:25px;color:#6b7d88;font-size:13px;line-height:1.9}.dialog-close{position:absolute;top:10px;right:10px}@media(max-width:520px){.page-shell{padding:14px}.login-card{padding:27px 22px 24px;border-radius:15px}.welcome h2{margin-bottom:24px}.field-group label,.input-wrap input{font-size:11px}.input-wrap{min-height:49px}.remember-option,.text-button,.signup{font-size:9px}}@media(max-width:350px){.form-options{align-items:flex-start;flex-direction:column;gap:12px}.login-card{padding-inline:17px;border-radius:12px}}@media(max-height:680px)and (min-width:521px){.page-shell{padding-block:14px}.login-card{padding-block:24px 22px}.brand{margin-bottom:14px}.welcome h2{margin-bottom:20px}.field-group{margin-bottom:12px}.input-wrap,.primary-button{min-height:44px}.form-options{margin-bottom:15px}.signup{margin-top:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
