*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#0c1117;min-height:100vh;display:flex;align-items:center;justify-content:center;}
.scene{position:relative;display:flex;align-items:stretch;width:880px;max-width:96vw;border-radius:20px;overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,0.5);}
.left{background:linear-gradient(160deg,#111827 0%,#0c1117 60%,#0d1b2a 100%);flex:1;padding:56px 48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
.left::before{content:"";position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(59,130,246,0.12) 0%,transparent 70%);}
.brand{position:relative;z-index:1;}
.brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:40px;}
.brand-mark{width:42px;height:42px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;box-shadow:0 8px 20px rgba(59,130,246,0.35);}
.brand-name{color:#fff;font-size:18px;font-weight:800;}
.brand-tag{color:#3a4a5a;font-size:11px;margin-top:1px;}
h2{color:#fff;font-size:26px;font-weight:900;line-height:1.3;margin-bottom:16px;}
.desc{color:#4a6070;font-size:13px;line-height:1.7;}
.features{margin-top:32px;list-style:none;}
.features li{color:#475569;font-size:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.04);display:flex;gap:10px;}
.features li span{color:#3b82f6;}
.foot{color:#1e3050;font-size:11px;position:relative;z-index:1;}
.right{background:#fff;width:380px;flex-shrink:0;padding:56px 44px;display:flex;flex-direction:column;justify-content:center;}
.login-title{font-size:22px;font-weight:900;margin-bottom:6px;}
.login-sub{color:#64748b;font-size:13px;margin-bottom:36px;}
.admin-pill{display:inline-flex;gap:6px;background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;margin-bottom:28px;}
label{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:7px;}
input{width:100%;border:1.5px solid #e2e8f0;border-radius:9px;padding:11px 14px;font-size:14px;outline:none;}
input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1);}
.field{margin-bottom:16px;}
.btn{width:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:9px;color:#fff;font-size:14px;font-weight:700;padding:13px;cursor:pointer;margin-top:8px;box-shadow:0 4px 14px rgba(59,130,246,0.3);}
.err{color:#ef4444;font-size:13px;margin-bottom:12px;}
