html,body,#root{height:100%}body{color:#1d2129;background:#f2f3f5;margin:0}.center-fill{justify-content:center;align-items:center;height:100vh;display:flex}.login{min-height:100vh;display:flex}.login-side{color:#fff;background:#0b5cd5;flex-direction:column;flex:0 0 44%;justify-content:space-between;padding:44px 56px;display:flex}.login-brand{font-size:16px;font-weight:600}.login-side h1{color:#fff;margin:0 0 14px;font-size:30px;line-height:1.35}.login-side p{color:#ffffffd9;max-width:340px;margin:0;font-size:15px;line-height:1.9}.login-foot{color:#ffffffb3;font-size:12.5px}.login-main{background:#fff;flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex}.login-box{width:100%;max-width:360px}.login-box h2{margin:0 0 6px;font-size:24px}.login-box .sub{color:#86909c;margin:0 0 24px}.login-mtitle{color:#0b5cd5;margin-bottom:28px;font-size:15px;font-weight:600;display:none}.login-err{color:#c62f2f;background:#ffece8;border:1px solid #ffd2c8;border-radius:6px;margin-bottom:16px;padding:9px 12px;font-size:13.5px}.force{background:#f2f3f5;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.force-box{background:#fff;border:1px solid #e5e6eb;border-radius:6px;width:100%;max-width:400px;padding:28px 28px 24px}.force-box h2{margin:0 0 6px;font-size:20px}.force-box .sub{color:#86909c;margin:0 0 20px;font-size:13.5px}.shell-sider{border-right:1px solid #e5e6eb;align-self:flex-start;height:100vh;position:sticky;top:0;overflow:auto}.shell-brand{border-bottom:1px solid #e5e6eb;align-items:center;height:56px;padding:0 24px;font-size:16px;font-weight:700;display:flex}.shell-header{z-index:10;border-bottom:1px solid #e5e6eb;align-items:center;gap:8px;display:flex;position:sticky;top:0}.shell-header .grow{flex:1}.shell-title{font-size:16px;font-weight:600}.shell-content{min-width:0;padding:20px 24px 40px}.page-head{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.page-head h2{margin:0;font-size:18px}.page-head .desc{color:#86909c;font-size:13px}.page-head .grow{flex:1}.panel{background:#fff;border:1px solid #e5e6eb;border-radius:6px;margin-bottom:16px;padding:20px}.panel h3{margin:0 0 14px;font-size:15px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;display:flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{background:#fff;border:1px solid #e5e6eb;border-radius:6px;padding:16px 18px}.kpi .k{color:#86909c;font-size:13px}.kpi .v{margin-top:4px;font-size:26px;font-weight:600;line-height:1.3}.kpi.warn .v{color:#d93026}.kpi .s{color:#86909c;margin-top:2px;font-size:12px}.pw-once{letter-spacing:2px;color:#0b5cd5;word-break:break-all;background:#f5f9ff;border:1px dashed #b8d3ff;border-radius:6px;padding:12px 16px;font:600 26px/1.3 ui-monospace,Menlo,Consolas,monospace}@media (width<=991px){.shell-content{padding:16px 12px 32px}.shell-header{padding:0 12px}}@media (width<=840px){.login-side{display:none}.login-mtitle{display:block}.login-main{align-items:flex-start;padding-top:56px}}
