:root{color-scheme:light;--navy:#132a3c;--teal:#137987;--mute:#748596;--line:#dde7ed}
*{box-sizing:border-box}
body{min-height:100vh;margin:0;background:#edf3f7;color:#193344;font-family:system-ui,-apple-system,"Microsoft JhengHei","Noto Sans TC",sans-serif;display:grid;place-items:center;padding:30px 18px}
.shell{width:min(1100px,100%);display:grid;grid-template-columns:1.04fr .96fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 25px 75px rgba(23,57,80,.13);min-height:690px}
.brand-panel{background:linear-gradient(145deg,#162d43,#205d6b);padding:57px 55px;color:#fff;position:relative;overflow:hidden}
.brand-panel:before{content:"";position:absolute;right:-130px;bottom:-190px;width:410px;height:410px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018);pointer-events:none}
.logo{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#30a9af,#177386);font-size:30px;font-weight:900;box-shadow:0 12px 24px rgba(0,0,0,.13);margin-bottom:33px}
.caption{font-size:10px;letter-spacing:1.7px;color:#9bd7dc;font-weight:700;margin-bottom:10px}
h1{font-size:34px;line-height:1.35;margin:0 0 7px;letter-spacing:.3px}
.subtitle{font-size:18px;color:#ccdee5;margin:0}
.decor{height:1px;background:rgba(255,255,255,.17);margin:47px 0 26px}
.feature-row{display:flex;align-items:baseline;gap:17px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#e1eef0;font-size:14px}
.feature-row span{font-size:12px;font-weight:800;color:#8fdae0}
.brand-note{color:#a8c9d0;font-size:12px;line-height:1.8;margin-top:38px}
.login-panel{padding:66px 57px 35px;display:flex;flex-direction:column}
.eyebrow{color:var(--teal);background:#eaf6f5;border-radius:50px;padding:7px 12px;font-size:11px;font-weight:800;letter-spacing:1px;align-self:flex-start}
h2{font-size:31px;margin:21px 0 10px}
.intro{font-size:14px;color:var(--mute);line-height:1.8;margin:0 0 27px}
form{display:grid;gap:9px}
label{font-size:13px;font-weight:750;margin-top:10px}
.optional{font-weight:400;color:#8899a6}
input{display:block;width:100%;padding:14px 15px;border:1px solid var(--line);background:#fff;border-radius:11px;font:inherit;font-size:14px;color:#243e4f;outline:0;min-width:0}
input:focus{border-color:#27939a;box-shadow:0 0 0 4px rgba(39,147,154,.12)}
.primary{margin-top:18px;background:#157886;color:white;padding:15px 20px;border:none;border-radius:11px;font:inherit;font-size:15px;font-weight:750;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 8px 21px rgba(21,120,134,.18)}
.primary:hover{background:#105d68}
.alert{background:#fff0ee;border:1px solid #ffd1c8;color:#9d3625;font-size:13px;line-height:1.7;padding:12px;border-radius:9px;margin-bottom:12px}
.fine-print{font-size:12px;color:#7d919c;line-height:1.7;margin:19px 0 0}
footer{margin-top:auto;color:#9aabb7;font-size:12px;padding-top:35px}
@media(max-width:800px){.shell{grid-template-columns:1fr}.brand-panel{padding:26px 30px}.logo{margin-bottom:15px}.brand-panel h1{font-size:26px}.caption{font-size:9px}.decor,.feature-row,.brand-note{display:none}.login-panel{padding:34px 30px 30px}footer{padding-top:30px}}
@media(max-width:470px){body{padding:0;background:#fff}.shell{border-radius:0;min-height:100vh;box-shadow:none}.brand-panel{padding:23px 25px}.logo{width:48px;height:48px;font-size:24px}.login-panel{padding:25px}.login-panel h2{font-size:27px}}
