/* Sign-up / forgot-password pages — same look as login.html on both portals. */
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;
  font-family:'Noto Sans TC',-apple-system,BlinkMacSystemFont,"PingFang HK","Microsoft JhengHei",sans-serif;
  color:#10161d;background:#f7f6f2;background-image:radial-gradient(1200px 600px at 50% -10%,#eef1f8,transparent);padding:20px}
.card{width:100%;max-width:430px;background:#fff;border:1px solid #e7e9ee;border-radius:18px;
  box-shadow:0 24px 60px -30px rgba(16,22,29,.35);padding:34px 30px 28px}
.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.brand{font-size:.78em;letter-spacing:.16em;color:#3d5699;font-weight:700;text-transform:uppercase}
.hm{font-size:.8em;color:#69707a;text-decoration:none}.hm:hover{color:#3d5699}
h1{font-size:1.45em;margin:0 0 4px}
.sub{color:#69707a;font-size:.9em;margin:0 0 22px;line-height:1.55}
label.f{display:block;font-size:.82em;color:#4a5158;margin:0 0 14px;font-weight:500}
label.f input{display:block;width:100%;height:46px;margin-top:6px;border:1px solid #d8dce3;border-radius:11px;
  padding:0 14px;font-size:1.02em;font-family:inherit;background:#fbfcfd;transition:border-color .15s,box-shadow .15s}
label.f input:focus{outline:none;border-color:#3d5699;box-shadow:0 0 0 3px rgba(61,86,153,.15);background:#fff}
label.f small{display:block;color:#98a0ab;font-weight:400;margin-top:5px}
input.code{letter-spacing:.5em;text-align:center;font-size:1.4em!important;font-weight:700}
button{width:100%;height:50px;border:0;border-radius:11px;background:#3d5699;color:#fff;font-size:1.02em;
  font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}
button:hover{background:#33497f}button:disabled{opacity:.55;cursor:default}
button.ghost{background:#eef1f8;color:#3d5699;margin-top:10px}button.ghost:hover{background:#e3e8f4}
.err{color:#c0392b;font-size:.86em;min-height:20px;margin:2px 0 6px;text-align:center}
.err.good{color:#2f8f6b}
.links{text-align:center;font-size:.86em;margin-top:18px;color:#a4abb4}
.links a{color:#3d5699;text-decoration:none;margin:0 6px}.links a:hover{text-decoration:underline}
.ok{font-size:2.4em;text-align:center;margin:6px 0 10px}
.acct{display:flex;align-items:center;gap:10px;border:1px solid #e3e6ec;border-radius:11px;padding:11px 13px;margin:0 0 8px;cursor:pointer}
.acct input{width:18px;height:18px;accent-color:#3d5699}
.note{font-size:.84em;color:#69707a;margin:0 0 10px}
.foot{text-align:center;color:#a4abb4;font-size:.76em;margin-top:20px}

/* icons (2026-10-07): single-colour Lucide line icons (ISC) instead of emoji */
.si{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-0.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ok .si{width:1.1em;height:1.1em;color:#2f8f6b}
