:root{--brand: #12a594;--brand-lite: #22c1b0;--brand-600: #0e8c7f;--brand-700: #0b6f66;--brand-deep: #0b8a7c;--brand-soft: #e6f7f4;--brand-line: #bfe7e2;--brand-rgb: 18, 165, 148;--brand-lite-rgb: 34, 193, 176;--accent: #ff8a3d;--accent-soft: #fff2e8;--primary: var(--brand);--success: #12b76a;--warning: #f79009;--danger: #f04438;--info: #4f7cff;--purple: #7a5af8;--cyan: #06aed4;--pink: #ee6a9a;--ink: #1f2a37;--ink-soft: #667085;--bg: #f4f6fa;--panel: #ffffff;--panel-2: #f8fafc;--line: #e7ecf3;--line-strong: #d7dee8;--sidebar-bg: #ffffff;--topbar-bg: rgba(255, 255, 255, .92);--shadow: rgba(16, 24, 40, .08);--radius: 12px;--radius-sm: 9px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 14px -6px rgba(16, 24, 40, .12), 0 1px 3px rgba(16, 24, 40, .04);--shadow-lg: 0 18px 48px -20px rgba(16, 24, 40, .28), 0 2px 8px rgba(16, 24, 40, .06);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-num: "Inter", "DIN Alternate", "Segoe UI", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html,body{overflow:hidden}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--brand-soft);color:var(--brand-700)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3dae5;border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#b9c3d3;background-clip:content-box;border:2px solid transparent}.px-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;position:relative;transition:box-shadow .2s ease,transform .2s ease}.px-card:hover{box-shadow:var(--shadow-md)}.px-card--flat{box-shadow:none}.px-card-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:.2px;color:var(--ink);margin-bottom:16px}.px-card-title>svg{color:var(--brand);flex-shrink:0}.px-btn{font-family:var(--font);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;font-size:13px;font-weight:500;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .08s ease}.px-btn:hover{background:var(--panel-2);border-color:#c3ccda}.px-btn:active{transform:translateY(1px);box-shadow:none}.px-btn:focus-visible{outline:3px solid rgba(var(--brand-rgb),.2);outline-offset:1px}.px-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.px-btn--primary{background:linear-gradient(135deg,var(--brand-lite),var(--brand-600));border-color:transparent;color:#fff;box-shadow:0 4px 12px -4px rgba(var(--brand-rgb),.5)}.px-btn--primary:hover{background:linear-gradient(135deg,#14a897,var(--brand-700));border-color:transparent}.px-btn--success{background:var(--success);border-color:transparent;color:#fff}.px-btn--success:hover{background:#0f9f5d}.px-btn--warning{background:var(--warning);border-color:transparent;color:#fff}.px-btn--warning:hover{background:#e08106}.px-btn--danger{background:var(--danger);border-color:transparent;color:#fff}.px-btn--danger:hover{background:#d92d20}.px-btn--purple{background:var(--purple);border-color:transparent;color:#fff}.px-btn--ghost{background:transparent;border-color:transparent;box-shadow:none}.px-btn--ghost:hover{background:var(--panel-2);border-color:transparent}.px-btn--sm{height:28px;padding:0 10px;font-size:12px;border-radius:7px}.px-btn--lg{height:44px;padding:0 22px;font-size:15px;border-radius:11px}.px-input,.px-select{font-family:var(--font);font-size:13px;height:34px;padding:0 11px;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.px-select{padding-right:26px;cursor:pointer}.px-input:hover,.px-select:hover{border-color:#c3ccda}.px-input:focus,.px-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.14)}.px-input::placeholder{color:#98a2b3}input[type=date].px-input,input[type=datetime-local].px-input{padding-right:6px}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:15px;height:15px;cursor:pointer}.px-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;font-size:12px;font-weight:500;line-height:1;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-soft);white-space:nowrap}.px-tag--primary{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-700)}.px-tag--success{background:#ecfdf3;border-color:#b5efcd;color:#067647}.px-tag--warning{background:#fffaeb;border-color:#fdead0;color:#b54708}.px-tag--danger{background:#fef3f2;border-color:#fbd5d1;color:#b42318}.px-tag--purple{background:#f4f2ff;border-color:#ded7ff;color:#5925dc}.px-tag--cyan{background:#ecfdff;border-color:#b6f0f9;color:#0e7090}.px-tag--plain{background:var(--panel);border-color:var(--line-strong);color:var(--ink-soft)}.px-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #12b76a26;animation:pulse-dot 2s ease-in-out infinite;vertical-align:middle}.px-dot--off{background:#cdd5e0;box-shadow:none;animation:none}.px-dot--warn{background:var(--warning);box-shadow:0 0 0 3px #f7900926}.px-dot--err{background:var(--danger);box-shadow:0 0 0 3px #f0443826}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}.px-table-wrap{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.px-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.px-table th{position:sticky;top:0;z-index:2;background:var(--panel-2);color:var(--ink-soft);font-weight:600;font-size:12px;text-align:left;padding:11px 12px;white-space:nowrap;border-bottom:1px solid var(--line)}.px-table td{padding:11px 12px;border-bottom:1px solid #f1f4f9;white-space:nowrap;color:var(--ink)}.px-table tbody tr:last-child td{border-bottom:none}.px-table tbody tr{transition:background .12s ease}.px-table tbody tr:hover td{background:#f8fbfb}.px-table .is-abnormal td{background:#fffcf2}.px-table .is-abnormal:hover td{background:#fff8e6}.px-table .num{font-variant-numeric:tabular-nums}.px-table td .px-btn+.px-btn{margin-left:6px}.px-pager{display:flex;align-items:center;gap:8px;padding:14px 2px 2px}.px-pager .px-btn.is-current{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-700);font-variant-numeric:tabular-nums}.px-dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .16s ease}.px-dialog{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(720px,92vw);max-height:88vh;display:flex;flex-direction:column;animation:dialog-in .22s cubic-bezier(.2,.9,.3,1.1);overflow:hidden}.px-dialog__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600}.px-dialog__head>span svg{color:var(--brand)}.px-dialog__head .px-btn{border:none;background:transparent;box-shadow:none;color:var(--ink-soft)}.px-dialog__head .px-btn:hover{background:#f2f5f9;color:var(--ink)}.px-dialog__body{padding:20px;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;overscroll-behavior:contain}.px-dialog__foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fcfdff}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes fade-in{0%{opacity:0}}.px-form{display:grid;gap:16px}.px-form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.px-form-item{display:flex;align-items:center;gap:8px}.px-form-item>label{font-size:13px;color:var(--ink-soft);white-space:nowrap}@keyframes px-slide-up{0%{opacity:0;transform:translateY(10px)}}@keyframes px-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes px-flash{0%{background:#fff7e6}to{background:transparent}}@keyframes px-caret{50%{opacity:0}}@keyframes float-card{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bar-grow{0%{transform:scaleY(0)}}.anim-bob{animation:float-card 5s ease-in-out infinite}.anim-shake{animation:px-shake .42s ease}.anim-slide-up{animation:px-slide-up .3s ease}.page-enter-active{animation:px-slide-up .26s ease}.page-leave-active{display:none}.flex{display:flex}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.text-soft{color:var(--ink-soft)}.text-bold{font-weight:600}.text-primary{color:var(--brand)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:#b54708}.text-center{text-align:center}.tipbar{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:10px;font-size:12.5px;line-height:1.7;border:1px solid var(--line);background:var(--panel-2);color:var(--ink)}.tipbar svg{flex:none;margin-top:2px}.tipbar.is-err{background:#feeceb;border-color:#fecdca;color:#b42318}.tipbar.is-warn{background:#fff5e6;border-color:#fde3b5;color:#b54708}.tipbar.is-ok{background:#e8f8ef;border-color:#b7ebc9;color:#15803d}.tipbar.is-info{background:#eaf1ff;border-color:#c7d7fe;color:#3538cd}:root[data-theme=mint]{--brand: #12a594;--brand-lite: #22c1b0;--brand-600: #0e8c7f;--brand-700: #0b6f66;--brand-deep: #0b8a7c;--brand-soft: #e6f7f4;--brand-line: #bfe7e2;--brand-rgb: 18, 165, 148;--brand-lite-rgb: 34, 193, 176;--accent: #ff8a3d;--accent-soft: #fff2e8;--ink: #1f2a37;--ink-soft: #667085;--bg: #f4f6fa;--panel: #ffffff;--panel-2: #f8fafc;--line: #e7ecf3;--line-strong: #d7dee8;--sidebar-bg: #ffffff;--topbar-bg: rgba(255, 255, 255, .92)}:root[data-theme=ocean]{--brand: #2563eb;--brand-lite: #4f8ef7;--brand-600: #1d4ed8;--brand-700: #1e40af;--brand-deep: #1b45c0;--brand-soft: #eaf1fe;--brand-line: #c3d8fb;--brand-rgb: 37, 99, 235;--brand-lite-rgb: 79, 142, 247;--accent: #f59e0b;--accent-soft: #fff6e6;--ink: #12233f;--ink-soft: #586a86;--bg: #e9f1fd;--panel: #ffffff;--panel-2: #f4f8ff;--line: #dfe8f6;--line-strong: #ccdbf1;--sidebar-bg: #fbfdff;--topbar-bg: rgba(251, 253, 255, .93)}:root[data-theme=violet]{--brand: #7b5cf0;--brand-lite: #9b82f8;--brand-600: #6a48e0;--brand-700: #553bb8;--brand-deep: #5b3ecc;--brand-soft: #f1edfe;--brand-line: #d8cdfb;--brand-rgb: 123, 92, 240;--brand-lite-rgb: 155, 130, 248;--accent: #f471b5;--accent-soft: #fdecf5;--ink: #251a42;--ink-soft: #675d82;--bg: #f2eefc;--panel: #ffffff;--panel-2: #f9f7ff;--line: #e6defa;--line-strong: #d9cdf6;--sidebar-bg: #fdfcff;--topbar-bg: rgba(253, 252, 255, .93)}:root[data-theme=sunset]{--brand: #e2683c;--brand-lite: #f08a5f;--brand-600: #cf5a30;--brand-700: #a84423;--brand-deep: #b74a26;--brand-soft: #fdf0e9;--brand-line: #f7d3c2;--brand-rgb: 226, 104, 60;--brand-lite-rgb: 240, 138, 95;--accent: #12a594;--accent-soft: #e6f7f4;--ink: #3f2517;--ink-soft: #7b6555;--bg: #fdf3ec;--panel: #fffdfb;--panel-2: #fdf9f5;--line: #f2e4d9;--line-strong: #ebd5c6;--sidebar-bg: #fffdfb;--topbar-bg: rgba(255, 253, 251, .93)}:root[data-theme=rose]{--brand: #d14d77;--brand-lite: #ec7499;--brand-600: #bd3f68;--brand-700: #9c3356;--brand-deep: #a83459;--brand-soft: #fdeef3;--brand-line: #f7cbda;--brand-rgb: 209, 77, 119;--brand-lite-rgb: 236, 116, 153;--accent: #f5a524;--accent-soft: #fef4e3;--ink: #3f1a2b;--ink-soft: #7a626e;--bg: #fdf1f5;--panel: #ffffff;--panel-2: #fef9fb;--line: #f5e2e9;--line-strong: #eed3dd;--sidebar-bg: #fffdfe;--topbar-bg: rgba(255, 253, 254, .93)}:root[data-theme=graphite]{--brand: #405a75;--brand-lite: #5a7692;--brand-600: #344c63;--brand-700: #263a4d;--brand-deep: #2b3f54;--brand-soft: #eef2f6;--brand-line: #c8d3de;--brand-rgb: 64, 90, 117;--brand-lite-rgb: 90, 118, 146;--accent: #12a594;--accent-soft: #e6f7f4;--ink: #17222d;--ink-soft: #5d6c7a;--bg: #eef2f7;--panel: #ffffff;--panel-2: #f7f9fb;--line: #e2e8ef;--line-strong: #d2dbe4;--sidebar-bg: #fdfeff;--topbar-bg: rgba(253, 254, 255, .93)}body,.px-card,.px-btn,.topbar,.panel,.rail{transition:background-color .22s ease,border-color .22s ease,color .18s ease}
