*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:36px 20px;background:#f2f4f8;color:#172638;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei",sans-serif}a{color:#2c5e9e;text-decoration:none}a:hover{text-decoration:underline}.login-card{width:min(880px,100%);display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid #e0e5ed;border-radius:22px;overflow:hidden;box-shadow:0 18px 60px #1830520d}.brand-panel{padding:44px 40px;background:#f8f9fe;border-top:4px solid #252487;display:flex;flex-direction:column;align-items:center;text-align:center}.brand-panel img{display:block;width:190px;height:190px;object-fit:contain;border-radius:16px}.brand-panel h1{font-size:25px;margin:28px 0 12px}.brand-panel p{font-size:16px;color:#68758a;line-height:1.8;margin:0}.brand-caption{font-size:11px;letter-spacing:2px;color:#68758a;margin-top:42px}.form-panel{padding:32px 36px 38px;border-top:4px solid #bd347b}.back-link{font-size:13px}.form-heading{margin:32px 0 26px}.form-heading>span{font-size:10px;letter-spacing:2px;color:#2c5e9e}.form-heading h2{font-size:27px;margin:10px 0}.form-heading p{font-size:14px;color:#68758a;margin:0}label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}input{width:100%;height:46px;border:1px solid #cdd5e1;border-radius:8px;padding:10px 12px;font:inherit;font-size:16px;background:white}input:focus{outline:2px solid #2c5e9e;outline-offset:2px}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{position:absolute;right:2px;top:2px;width:42px;height:42px;background:transparent;border:0;color:#52657f;cursor:pointer}.password-field svg{width:22px;height:22px}#login-status{font-size:13px;line-height:1.5;min-height:20px;color:#68758a;margin:14px 0}.submit{width:100%;height:46px;border:0;border-radius:8px;background:#2c5e9e;color:white;font:inherit;font-weight:700;cursor:pointer}.submit:disabled{background:#8999af;cursor:default}.browse-link{display:block;text-align:center;margin-top:20px;font-size:14px}footer{font-size:12px;color:#798698;margin-top:22px}a:focus-visible,button:focus-visible{outline:2px solid #2c5e9e;outline-offset:3px}@media(max-width:650px){body{padding:18px 14px;justify-content:flex-start}.login-card{max-width:430px;grid-template-columns:1fr;border-radius:16px}.brand-panel{padding:20px 24px 18px}.brand-panel img{width:94px;height:94px;border-radius:8px}.brand-panel h1{font-size:20px;margin:12px 0 0}.brand-panel p,.brand-caption{display:none}.form-panel{padding:20px 24px 26px;border-top:1px solid #e0e5ed}.form-heading{margin:20px 0}.form-heading h2{font-size:24px}footer{margin-top:16px}}

/* Lifestyle reference layout, with live HTML form controls. */
body{position:relative;min-height:100svh;padding:36px 20px 100px;background:linear-gradient(110deg,#f7f6ef,#e7eef5 60%,#edf2f6);overflow-x:hidden}
.lifestyle-scene{position:absolute;inset:0 auto 70px 0;width:42.6%;background-image:url('/assets/login-reference.png');background-size:auto 100%;background-position:left top;background-repeat:no-repeat;pointer-events:none}
.login-card{position:relative;display:block;width: min(490px,42vw);margin-left:22%;border:0;border-radius:20px;box-shadow:0 14px 45px #1c345021;background:#fff}
.form-panel{border:0;padding:24px 40px 30px}.back-link{font-size:12px}.login-logo{display:block;width:150px;height:150px;object-fit:contain;margin:8px auto 12px}.form-heading{text-align:center;margin:0 0 24px}.form-heading h1{font-size:32px;color:#17245b;margin:0 0 8px}.form-heading p{font-size:15px;color:#7c8395}.submit{background:linear-gradient(135deg,#2d5da1,#203f80);box-shadow:0 4px 12px #244e8526}input{height:50px;border-color:#d4dce8}.password-field button{top:4px}.login-signature{text-align:center;color:#48689d;font-family:serif;margin-top:24px;border-top:1px solid #e8edf4;padding-top:18px;font-size:16px;letter-spacing:2px}.login-signature small{display:block;font:10px sans-serif;letter-spacing:5px;margin-top:10px;color:#8390a5}.lifestyle-notes{position:absolute;left:83%;top:28%;color:#345488}.lifestyle-notes p{font:24px/1.8 serif;letter-spacing:4px}.lifestyle-notes hr{width:44px;margin:20px 0;border:0;border-top:1px solid #859cb9}.lifestyle-notes ul{list-style:none;padding:0;font-size:17px;line-height:3;letter-spacing:2px}footer{position:absolute;bottom:0;left:0;right:0;margin:0;background:#244984;color:#d6e0f0;padding:24px 3.5%;font-size:12px;letter-spacing:1px}
@media(max-width:1000px){.lifestyle-notes{display:none}.login-card{width:460px;margin-left:25%}.form-panel{padding:24px 30px}}
@media(max-width:650px){body{padding:20px 14px 76px;justify-content:center}.lifestyle-scene{width:100%;opacity:.13;background-size:auto 100%}.login-card{width:100%;max-width:410px;margin:0;border-radius:16px}.form-panel{padding:18px 24px 24px}.login-logo{width:100px;height:100px;margin:4px auto 12px}.form-heading h1{font-size:26px}.form-heading p{font-size:13px}.form-heading{margin-bottom:18px}label{margin-top:14px}.login-signature{margin-top:18px;padding-top:14px}footer{text-align:center;padding:18px 8px;font-size:10px}}

.login-divider{text-align:center;font-size:12px;color:#7c8395;margin:18px 0 12px}.line-login{width:100%;min-height:46px;border:0;border-radius:8px;background:#06c755;color:white;font:inherit;font-weight:700;cursor:pointer}.line-login:disabled{opacity:.55;cursor:default}#line-status{font-size:12px;line-height:1.5;color:#68758a}
/* Only show the left photographic portion of the supplied reference. */
.lifestyle-scene{background-size:max(235%,1600px) auto;background-position:left top;overflow:hidden}
@media(max-width:650px){.lifestyle-scene{display:none}}

#register-toggle{border:0;background:none;margin:16px auto 0;cursor:pointer;font:inherit;font-size:14px;color:#2c5e9e}.registration-note{font-size:12px;line-height:1.5;color:#68758a}
[hidden]{display:none!important}
