*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:#f4f7fc;color:#22314a;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-body{flex:1;display:flex;width:100%;min-height:0}.app-main-shell{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;background:transparent}.app-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;padding:20px 24px 8px}.app-content{flex:1;min-width:0}.company-footer{padding:16px 0 18px;text-align:center;color:#9aa5b6;font-size:12px;letter-spacing:.4px}.brand-block{display:flex;align-items:center;gap:10px;padding:16px 18px 14px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#2c6fd1,#56a3f0);color:#fff;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;letter-spacing:1px;flex:none}.brand-title{font-size:14px;font-weight:600;line-height:1.35;color:#1d2c46}.brand-sub{font-size:11px;color:#98a5b8;margin-top:2px}.header-title{font-size:16px;font-weight:600;color:#1d2c46}.header-sub{font-size:12px;color:#97a4b8;margin-left:10px}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.page-title h2{margin:0;font-size:19px;font-weight:600;color:#1d2c46}.page-title p{margin:4px 0 0;font-size:12.5px;color:#8c9ab0}.stat-card{background:#fff;border-radius:14px;border:1px solid #eaeff7;padding:16px 18px;box-shadow:0 2px 10px #2c6fd10d;height:100%}.stat-card .stat-label{font-size:12.5px;color:#8c9ab0;display:flex;align-items:center;gap:6px}.stat-card .stat-value{font-size:26px;font-weight:600;color:#1d2c46;margin-top:6px;line-height:1.1}.stat-card .stat-extra{font-size:12px;color:#9aa5b6;margin-top:6px}.soft-panel{background:#fff;border:1px solid #eaeff7;border-radius:14px;padding:16px 18px}.soft-panel-title{font-size:14px;font-weight:600;color:#24334d;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.login-page{min-height:100vh;background:linear-gradient(140deg,#eef4fe,#f7fafe 45%,#eaf7f4);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px}.login-card{width:100%;max-width:940px;background:#fff;border-radius:22px;box-shadow:0 18px 48px #26569e1f;display:flex;overflow:hidden;border:1px solid #e8eefa}.login-aside{width:44%;padding:40px 34px;background:linear-gradient(160deg,#2c6fd1,#4b96e6 55%,#63b8c2);color:#fff}.login-aside h1{font-size:21px;line-height:1.5;margin:22px 0 12px;font-weight:600}.login-aside p{font-size:13px;line-height:1.9;color:#ffffffe0;margin:0}.login-aside .aside-list{margin-top:22px;font-size:13px;color:#ffffffeb;line-height:2.1}.login-form{flex:1;padding:44px 40px 36px}.login-form h2{margin:0 0 6px;font-size:20px;color:#1d2c46}.login-form .form-sub{color:#93a1b6;font-size:13px;margin-bottom:22px}.diff-table{width:100%;border-collapse:collapse;font-family:Consolas,Courier New,monospace;font-size:12.5px}.diff-table td{border:1px solid #eaeff7;padding:4px 8px;vertical-align:top;white-space:pre-wrap;word-break:break-all}.diff-table td.line-no{width:52px;text-align:right;color:#a9b4c5;background:#fafcff}.diff-added{background:#eef9f1}.diff-removed{background:#fdeeee}.diff-same{background:#fff}.version-card{border:1px solid #eaeff7;border-radius:14px;padding:14px 16px;background:#fff}.version-card.current{border-color:#bcd8fb;background:#f7fbff}.version-card.void{border-color:#f2d2d2;background:snow}.image-frame{border:1px solid #e6ecf6;border-radius:12px;overflow:hidden;background:#fff}.mono-text{font-family:Consolas,Courier New,monospace;font-size:12.5px}.muted{color:#8c9ab0;font-size:12.5px}.section-gap{margin-top:16px}@media (max-width: 900px){.login-card{flex-direction:column}.login-aside{width:100%}.app-main{padding:16px 12px 8px}}
