:root{--fp-blue: #4f7cff;--fp-violet: #6a5cff;--fp-grad: linear-gradient(90deg, #4f7cff, #6a5cff);--fp-bg: #f7f9ff;--fp-surf: #eef2fb;--fp-card-line: #edf1fb;--fp-t1: #1f2937;--fp-t2: #6b7280;--fp-t3: #9ca3af}body{background:var(--fp-bg)}.fp-topbar{height:60px;background:var(--fp-grad);display:flex;align-items:center;padding:0 28px;gap:28px;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #4f7cff40}.fp-logo{color:#fff;font-size:18px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.fp-nav{display:flex;gap:4px;flex:1}.fp-nav-item{padding:8px 18px;border-radius:99px;color:#ffffffd1;font-size:14px;cursor:pointer;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.fp-nav-item:hover{color:#fff;background:#ffffff1f}.fp-nav-item.on{background:#fff;color:var(--fp-blue);font-weight:600}.fp-user{color:#ffffffeb;font-size:13px;background:#ffffff29;padding:6px 14px;border-radius:99px;cursor:pointer;white-space:nowrap}body .ant-btn-primary{background:var(--fp-grad);border:none;box-shadow:0 2px 8px #4f7cff47}body .ant-btn-primary:hover:not(:disabled){background:var(--fp-grad);opacity:.9;box-shadow:0 4px 14px #4f7cff5c;transform:translateY(-1px)}body .ant-btn-primary:disabled{background:#c8ccd6;box-shadow:none}body .ant-card{border-color:var(--fp-card-line)}body .ant-card .ant-card-head{border-bottom-color:#f0f2f7;font-weight:600}body .ant-table-thead>tr>th{background:#fff;color:var(--fp-t2);font-weight:500;font-size:12px;padding:10px 12px;border-bottom:1px solid var(--fp-card-line)}body .ant-table-tbody>tr>td{padding:9px 12px;font-size:13px;border-bottom:1px solid #f0f2f7}body .ant-table-tbody>tr:hover>td{background:#f7f9ff}.fp-statrow{display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap}.fp-stat{width:200px;flex:none;background:#fff;border:1px solid var(--fp-card-line);border-radius:12px;padding:14px 18px;cursor:pointer;transition:transform .15s,box-shadow .15s}.fp-stat:hover{transform:translateY(-2px);box-shadow:0 6px 18px #4f7cff1f}.fp-stat.on{border-color:var(--fp-blue);box-shadow:0 0 0 3px #4f7cff26}.fp-stat .n{font-size:24px;font-weight:600;line-height:1.2}.fp-stat .l{font-size:12px;color:var(--fp-t2);margin-top:2px}.fp-pills{display:inline-flex;background:var(--fp-surf);border-radius:99px;padding:3px}.fp-pills .pill{padding:6px 16px;border-radius:99px;font-size:13px;color:var(--fp-t2);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.fp-pills .pill:hover{color:var(--fp-t1)}.fp-pills .pill.on{background:#fff;color:var(--fp-t1);font-weight:600;box-shadow:0 1px 3px #1f29371a}.fp-pills .bdg{display:inline-block;min-width:17px;text-align:center;background:#dc2626;color:#fff;border-radius:99px;font-size:11px;margin-left:4px;line-height:16px;padding:0 4px}.fp-pills .bdg.b{background:var(--fp-blue)}.fp-grad-text{background:var(--fp-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fp-side{width:200px;flex:none;background:#fff;border-right:1px solid var(--fp-card-line);min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto;padding:0 8px 24px}.fp-side-logo{display:flex;align-items:center;gap:10px;padding:18px 12px 16px}.fp-side-logo .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#4f7cff,#6a5cff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex:none}.fp-side-logo .name{font-size:16px;font-weight:600;color:var(--fp-t1);line-height:1.3}.fp-side-logo .sub{font-size:11px;color:var(--fp-t3);line-height:1.3}.fp-side-group{font-size:12px;color:var(--fp-t3);padding:16px 12px 6px}.fp-side-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;color:var(--fp-t2);font-size:14px;cursor:pointer;margin-bottom:2px;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}.fp-side-item:hover{background:#f5f8ff;color:var(--fp-t1)}.fp-side-item.on{background:var(--fp-surf);color:var(--fp-blue);font-weight:600}.fp-side-item .anticon{font-size:15px}.fp-subbar{height:52px;background:#fff;border-bottom:1px solid var(--fp-card-line);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:99}.fp-subbar .page{font-size:15px;font-weight:600;color:var(--fp-t1)}.fp-subbar .user{margin-left:auto;font-size:13px;color:var(--fp-t2);cursor:pointer;padding:6px 12px;border-radius:99px}.fp-subbar .user:hover{background:var(--fp-surf)}.fp-content{width:100%;margin:0;padding:28px 56px 58px}
