:root { color-scheme: dark; font-family: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; min-height: 100%; }
.property-login-page { display: grid; min-height: 100vh; place-items: center; overflow: hidden; padding: 24px; color: #eff7ff; background: #050b13; }
.property-login-grid { position: fixed; inset: 0; opacity: 0.36; background-image: linear-gradient(rgba(86, 182, 244, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(86, 182, 244, 0.08) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at center, black 20%, transparent 78%); }
.property-login-glow { position: fixed; width: 520px; height: 520px; border-radius: 50%; filter: blur(110px); opacity: 0.16; }
.property-login-glow.glow-a { top: -230px; left: -140px; background: #43cbbb; }
.property-login-glow.glow-b { right: -180px; bottom: -270px; background: #438fd1; }
.property-login-card { position: relative; z-index: 2; width: min(450px, calc(100vw - 32px)); padding: 34px; border: 1px solid rgba(118, 175, 218, 0.28); background: linear-gradient(145deg, rgba(13, 27, 44, 0.97), rgba(6, 14, 24, 0.96)); box-shadow: 0 32px 90px rgba(0, 0, 0, 0.48); clip-path: polygon(0 0, calc(100% - 17px) 0, 100% 17px, 100% 100%, 17px 100%, 0 calc(100% - 17px)); }
.property-login-brand { display: flex; align-items: center; gap: 12px; }
.property-login-brand > span { display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; color: #06131d; background: #55d8cf; box-shadow: 0 0 28px rgba(85, 216, 207, 0.2); }
.property-login-brand i { font-size: 27px; }
.property-login-brand p, .property-login-brand h1 { margin: 0; }
.property-login-brand p { color: #55d8cf; font-size: 10px; letter-spacing: 0.13em; }
.property-login-brand h1 { margin-top: 5px; font-size: 19px; letter-spacing: 0.04em; }
.property-login-intro { display: flex; flex-direction: column; gap: 5px; margin: 34px 0 22px; padding-left: 12px; border-left: 2px solid rgba(86, 182, 244, 0.48); }
.property-login-intro strong { font-size: 14px; }
.property-login-intro span { color: #879db2; font-size: 10px; }
#property_login_form label { display: block; margin-top: 14px; }
#property_login_form label > span { display: block; margin-bottom: 6px; color: #9bb0c3; font-size: 10px; }
#property_login_form label > div { display: flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid rgba(137, 170, 202, 0.2); background: rgba(0, 0, 0, 0.18); transition: 0.16s ease; }
#property_login_form label > div:focus-within { border-color: rgba(85, 216, 207, 0.62); box-shadow: 0 0 0 3px rgba(85, 216, 207, 0.08); }
#property_login_form label i { color: #56b6f4; font-size: 17px; }
#property_login_form input { flex: 1; min-width: 0; color: #eef6ff; border: 0; outline: 0; background: transparent; }
#property_login_form input::placeholder { color: #5f768b; }
#property_password_toggle { display: grid; width: 30px; height: 30px; place-items: center; color: #8fa5ba; border: 0; background: transparent; cursor: pointer; }
.property-login-error { min-height: 18px; margin: 9px 0 0; color: #ff9ba6; font-size: 10px; }
#property_login_submit { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; color: #041118; border: 0; background: #55d8cf; font-weight: 800; cursor: pointer; transition: 0.16s ease; }
#property_login_submit:hover { background: #70e8df; transform: translateY(-1px); }
#property_login_submit:disabled { opacity: 0.65; cursor: wait; transform: none; }
.property-login-notice { display: flex; align-items: flex-start; gap: 8px; margin-top: 22px; padding-top: 16px; color: #7f96aa; border-top: 1px solid rgba(137, 170, 202, 0.14); font-size: 9px; line-height: 1.55; }
.property-login-notice i { color: #42d392; font-size: 16px; }
.property-login-page footer { position: fixed; z-index: 2; bottom: 14px; font-size: 10px; }
.property-login-page footer a { color: #70869a; text-decoration: none; }
@media (max-width: 520px) { .property-login-page { align-items: start; padding-top: max(54px, env(safe-area-inset-top)); } .property-login-card { padding: 25px 20px; } .property-login-brand h1 { font-size: 16px; } .property-login-brand p { font-size: 8px; } }

