:root { --ink:#182230; --muted:#667085; --line:#d0d5dd; --brand:#0f766e; --bad:#b42318; --good:#067647; }
        * { box-sizing:border-box; }
        body { margin:0; min-height:100vh; display:grid; place-items:center; background:#f7f9fc; color:var(--ink); font-family:Arial, "Microsoft YaHei", sans-serif; padding:24px; }
        .shell { width:min(460px, 100%); }
        .site-title { text-align:center; font-size:36px; font-weight:900; margin:0 0 24px; color:#111827; display:flex; align-items:center; justify-content:center; gap:10px; }
        .site-logo { width:40px; height:40px; object-fit:contain; display:block; }
        .card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:28px; box-shadow:0 10px 24px rgba(15,23,42,.05); }
        h2 { margin:0 0 18px; font-size:20px; text-align:center; }
        .tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:18px; }
        .tab { border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:8px; padding:10px; font-weight:800; cursor:pointer; }
        .tab.active { background:var(--brand); color:#fff; border-color:var(--brand); }
        label { display:block; font-weight:800; margin:12px 0 6px; }
        input { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; font-size:15px; }
        .password-wrap { display:flex; align-items:center; width:100%; border:1px solid var(--line); border-radius:8px; background:#fff; overflow:hidden; }
        .password-wrap:focus-within { border-color:var(--brand); box-shadow:0 0 0 3px rgba(15,118,110,.12); }
        .password-wrap input { flex:1; min-width:0; border:0; border-radius:0; padding:11px 8px 11px 12px; background:transparent; outline:none; }
        .password-toggle { flex:0 0 42px; width:42px; align-self:stretch; height:auto; margin:0; padding:0; display:flex; align-items:center; justify-content:center; border:0; border-radius:0; background:transparent; color:#475467; font-size:17px; line-height:1; cursor:pointer; }
        .password-toggle:hover, .password-toggle:focus { background:#f2f4f7; outline:none; }
        button { width:100%; margin-top:16px; border:0; border-radius:8px; background:var(--brand); color:#fff; padding:12px; font-size:15px; font-weight:800; cursor:pointer; }
        a { color:var(--brand); font-weight:800; text-decoration:none; }
        a:hover { text-decoration:underline; }
        .captcha-row { display:grid; grid-template-columns:1fr 130px 62px; gap:8px; align-items:center; }
        .captcha-img { width:130px; height:44px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; display:block; cursor:pointer; }
        .refresh { text-align:center; font-size:14px; cursor:pointer; }
        .messages { display:grid; gap:8px; margin-bottom:14px; }
        .msg { border-radius:8px; padding:10px 12px; border:1px solid; font-size:14px; }
        .msg.success { color:var(--good); background:#ecfdf3; border-color:#abefc6; }
        .msg.error { color:var(--bad); background:#fef3f2; border-color:#fecdca; }
        .hidden { display:none; }
        .meta { margin-top:18px; color:var(--muted); font-size:13px; text-align:center; line-height:1.6; }
        @media (max-width:520px) { .site-title { font-size:30px; } .site-logo { width:34px; height:34px; } .card { padding:22px; } .captcha-row { grid-template-columns:1fr; } .refresh { text-align:left; } }
