:root { font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; color:#111; background:#111; }
* { box-sizing:border-box; } html,body { min-width:320px; min-height:100%; margin:0; } body { min-height:100vh; }
.tenant-login { display:grid; min-height:100vh; grid-template-columns:1.25fr .75fr; background:#f4f4f1; }.tenant-visual { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:52px 6vw 90px; overflow:hidden; background:radial-gradient(circle at 70% 25%,#515867 0 8%,transparent 9%),linear-gradient(140deg,#30343b,#08090b 70%); color:#fff; }.tenant-visual::after { position:absolute; right:-100px; bottom:-160px; width:480px; height:480px; border:1px solid rgba(255,255,255,.15); border-radius:50%; content:""; }.tenant-logo { position:relative; z-index:1; display:flex; align-items:center; gap:12px; }.tenant-logo span,.tenant-logo img { width:38px; height:38px; border-radius:4px; object-fit:cover; }.tenant-logo span { display:grid; place-items:center; background:#fff; color:#111; font-weight:800; }.tenant-logo strong { font-size:15px; }.tenant-visual > div:last-child { position:relative; z-index:1; }.tenant-visual p,.tenant-auth form > p,.tenant-welcome > p { margin:0; color:#aeb4be; font-size:10px; font-weight:700; }.tenant-visual h1 { margin:20px 0 0; font-size:clamp(40px,4.5vw,70px); line-height:1.15; }
.tenant-auth { display:grid; place-items:center; padding:30px; background:linear-gradient(112deg,transparent 0 55%,rgba(17,17,17,.04) 55% 70%,transparent 70%),#f4f4f1; }.tenant-auth form { width:min(100%,440px); padding:42px; border:1px solid rgba(255,255,255,.9); border-radius:8px; background:rgba(255,255,255,.67); box-shadow:0 28px 65px rgba(0,0,0,.1); backdrop-filter:blur(22px); }.tenant-auth h2 { margin:11px 0 6px; font-size:32px; }.tenant-auth form > span { display:block; margin-bottom:30px; color:#7a7a7a; font-size:12px; }.tenant-auth label { display:grid; gap:8px; margin-top:16px; font-size:12px; font-weight:650; }.tenant-auth input { width:100%; height:50px; padding:0 13px; border:1px solid #d3d5d8; border-radius:5px; outline:0; background:rgba(255,255,255,.75); }.tenant-auth input:focus { border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.05); }.tenant-auth button { display:flex; width:100%; height:50px; align-items:center; justify-content:space-between; margin-top:27px; padding:0 8px 0 17px; border:0; border-radius:5px; background:#111; color:#fff; font-weight:650; cursor:pointer; }.tenant-auth button b { display:grid; width:34px; height:34px; place-items:center; border-radius:4px; background:#fff; color:#111; }.tenant-auth button:disabled { opacity:.65; }.tenant-error { margin-top:14px; padding:10px; border-radius:4px; background:#fef3f2; color:#b42318; font-size:11px; }
.tenant-workspace { min-height:100vh; padding-bottom:50px; background:#f3f6fb; }.tenant-workspace header { display:flex; height:66px; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid #dfe6ef; background:#fff; }.tenant-workspace header a { color:#69778a; font-size:12px; text-decoration:none; }.tenant-welcome { padding:60px 6vw 35px; }.tenant-welcome h1 { margin:10px 0; font-size:34px; }.tenant-welcome span { color:#69778a; font-size:12px; }.tenant-modules { display:grid; width:min(1200px,88vw); margin:0 auto; grid-template-columns:repeat(4,1fr); gap:14px; }.tenant-modules article { min-height:180px; padding:24px; border:1px solid #dde5ef; border-radius:7px; background:#fff; }.tenant-modules b { color:#1670f5; font-size:24px; }.tenant-modules h2 { margin:25px 0 8px; font-size:17px; }.tenant-modules p { margin:0; color:#7b889a; font-size:11px; line-height:1.6; }
@media (max-width:850px) { .tenant-login { grid-template-columns:1fr; }.tenant-visual { min-height:280px; padding:28px 24px 45px; }.tenant-visual h1 { font-size:34px; }.tenant-auth { padding:20px 14px 50px; }.tenant-modules { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px) { .tenant-auth form { padding:28px 21px; }.tenant-modules { grid-template-columns:1fr; }.tenant-welcome h1 { font-size:27px; } }
