.login-page,.app-shell{--bg:#eef2f7;--surface:#fff;--surface-soft:#f7f9fc;--line:#dce3ed;--line-strong:#c8d2df;--text:#17202a;--muted:#667085;--muted-strong:#475467;--blue:#2563eb;--blue-soft:#e8f0ff;--green:#15976a;--green-soft:#e7f6ef;--amber:#b7791f;--amber-soft:#fff4db;--red:#c2413a;--red-soft:#fdeceb;--purple:#6d5bd0;--purple-soft:#f0edff;--shadow:0 20px 45px #17202a14;--rail-expanded-width:64px;--rail-collapsed-width:52px;--sidebar-panel-width:140px;--sidebar-panel-collapsed-width:52px}:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f7;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,select{color:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #3b82f659}#root{min-height:100vh}.app-loading-shell{place-items:center;min-height:100vh;padding:24px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page{background:linear-gradient(135deg, #2563eb14, #15976a12), var(--bg);min-height:100vh;color:var(--text);place-items:center;padding:48px;display:grid}.login-shell{grid-template-columns:minmax(0,1.05fr) 420px;align-items:stretch;gap:18px;width:min(1080px,100%);display:grid}.login-brand-panel,.login-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px}.login-brand-panel{align-content:center;gap:34px;min-height:560px;padding:44px;display:grid}.login-brand-mark{width:52px;height:52px}.login-eyebrow{color:var(--blue);letter-spacing:0;margin:0 0 12px;font-size:13px;font-weight:800}.login-brand-panel h1,.login-card h2{color:var(--text);margin:0}.login-brand-panel h1{max-width:520px;font-size:36px;line-height:1.18}.login-lead{max-width:580px;color:var(--muted-strong);margin:18px 0 0;font-size:15px;line-height:1.8}.login-card{align-content:center;gap:18px;padding:26px;display:grid}.login-card-head{gap:5px;display:grid}.login-card-head>span{color:var(--muted);font-size:13px}.login-mode-tabs{border:1px solid var(--line);background:#f5f8fc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-height:38px;padding:3px;display:grid}.login-mode-tabs button{color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;font-weight:800}.login-mode-tabs button:hover,.login-mode-tabs button.active{color:#fff;background:var(--blue)}.login-form-fields{gap:18px;display:grid}.login-field{color:var(--muted-strong);gap:7px;font-size:13px;font-weight:800;display:grid}.login-field input{border:1px solid var(--line);width:100%;height:42px;color:var(--text);font:inherit;background:#fff;border-radius:8px;outline:0;padding:0 12px}.login-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.login-password-control{grid-template-columns:minmax(0,1fr) 56px;display:grid}.login-password-control input{border-radius:8px 0 0 8px}.login-password-control button{border:1px solid var(--line);color:var(--muted-strong);cursor:pointer;background:#f8fbff;border-left:0;border-radius:0 8px 8px 0;font-weight:800}.login-password-control:focus-within input{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.login-password-control:focus-within button{border-color:var(--blue)}.login-remember{color:var(--muted-strong);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.login-remember input{width:16px;height:16px;accent-color:var(--blue)}.login-error{color:var(--red);background:var(--red-soft);border:1px solid #f4b7b2;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.login-submit-button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:8px;height:44px;font-weight:800;box-shadow:0 12px 26px #2563eb3d}.login-submit-button:hover{background:#1d4ed8}.login-submit-button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none}.login-page .brand-mark{color:#fff;background:linear-gradient(135deg,#2487ff,#26c6da);border-radius:8px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.login-page .panel-label{color:var(--muted-strong);margin:0 0 12px;font-size:13px;font-weight:700}.auth-retry-card{width:min(520px,100%)}.auth-logout-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:44px}@media (width<=900px){.login-page{padding:28px}.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:auto}}@media (width<=560px){.login-page{padding:18px}.login-shell{grid-template-columns:1fr}.login-brand-panel{gap:20px;min-height:auto;padding:24px}.login-brand-panel h1{font-size:28px}.login-card{padding:20px}}
