@font-face{font-family:PingFang SC;src:url(/assets/PingFang%20SC-Regular-CPJS4V4J.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PingFang SC;src:url(/assets/PingFang%20SC-Medium-BPSO_Dbd.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:PingFang SC;src:url(/assets/PingFang%20SC-Bold-BETYyC7F.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--brand-primary: #6C3CE1;--brand-secondary: #9B6DFF;--brand-accent: #0066FF;--text-primary: #101828;--text-secondary: #475467;--text-muted: #98A2B3;--border-color: #E4E7EC;--bg-light: #F8FAFC;--bg-white: #FFFFFF;--surface-2: #F3F6FB;--surface-3: #EDF2F7;--surface-dark: #101828;--danger-color: #E53935;--success-color: #12B76A;--warning-color: #F79009;--shadow-subtle: 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 20px 40px rgba(16, 24, 40, .12);--radius-xs: 2px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px}*{margin:0;padding:0;box-sizing:border-box}*:not(.no-transition){transition:background-color .35s ease,background .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}body{font-family:PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,system-ui,sans-serif;color:var(--text-primary);background-color:var(--bg-light);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}#app{min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 20px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none;background:var(--bg-white);color:var(--text-primary)}.btn:hover{border-color:var(--brand-primary)}.btn-primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btn-primary:hover{background:#000}.btn-secondary{background:transparent}.btn-danger{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.btn-danger:hover{background:#d32f2f}.btn-sm{min-height:30px;padding:0 14px;font-size:13px}.card{background:var(--bg-white);border-radius:var(--radius-md);border:1px solid var(--border-color)}.card-header{padding:18px 24px;border-bottom:1px solid var(--border-color);font-weight:600;font-size:15px;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center}.card-body{padding:24px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.form-input{width:100%;min-height:40px;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:all .15s ease;background:var(--bg-white)}.form-input:focus{outline:none;border-color:var(--brand-primary)}.form-select{width:100%;min-height:40px;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:var(--bg-white);cursor:pointer}.form-select:focus{outline:none;border-color:var(--brand-primary)}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:14px 0;text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-weight:500;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.table tr:hover td{background:var(--bg-light)}.table tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;letter-spacing:-.01em}.badge-success{background:#43a0471a;color:var(--success-color)}.badge-warning{background:#fb8c001a;color:var(--warning-color)}.badge-danger{background:#e539351a;color:var(--danger-color)}.badge-primary{background:#0066ff1a;color:var(--brand-accent)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-primary{color:var(--brand-primary)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.gap-1{gap:8px}.gap-2{gap:16px}.action-buttons{display:flex;gap:4px}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:14px;transition:all .15s ease}.action-btn:hover{background:var(--bg-light);color:var(--brand-primary)}.action-btn.delete:hover{color:var(--danger-color)}.toast{position:fixed;top:24px;right:24px;padding:14px 22px;color:var(--text-primary);background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000014;z-index:9999;animation:slideIn .25s ease;font-weight:500}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.card-body{padding:16px}.table th,.table td{padding:8px 12px}}
