.toast[data-v-1fd337d5]{position:fixed;top:24px;right:24px;background:var(--success);color:#0d0d0f;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;z-index:999;opacity:0;transform:translateY(-10px);transition:all .3s;pointer-events:none}.toast.show[data-v-1fd337d5]{opacity:1;transform:translateY(0)}.toast.warn[data-v-1fd337d5]{background:var(--accent)}.toast.error[data-v-1fd337d5]{background:var(--danger);color:#fff}:root{--bg: #0d0d0f;--card-bg: rgba(22, 22, 26, .85);--card-border: rgba(255, 255, 255, .06);--text: #e4e4e7;--text-secondary: #a1a1aa;--accent: #d4a843;--accent2: #e85d3a;--input-bg: rgba(30, 30, 36, .9);--input-border: rgba(255, 255, 255, .08);--input-focus: rgba(212, 168, 67, .4);--row-hover: rgba(255, 255, 255, .03);--danger: #e85d3a;--success: #3ecf8e}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,rgba(212,168,67,.06) 0%,transparent 50%),radial-gradient(ellipse at 70% 60%,rgba(232,93,58,.04) 0%,transparent 50%);pointer-events:none;z-index:0}a{color:inherit;text-decoration:none}.page-header{margin-bottom:28px}.page-title{font-size:28px;font-weight:700;margin-bottom:6px}.page-desc{font-size:14px;color:var(--text-secondary)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:24px;margin-bottom:24px;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.card-title{font-size:16px;font-weight:600}.card-subtitle{font-size:13px;color:var(--text-secondary);margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:20px 24px}.stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.stat-value{font-size:30px;font-weight:700;line-height:1.2}.stat-value small{font-size:14px;font-weight:500;color:var(--text-secondary);margin-left:4px}.stat-delta{font-size:12px;margin-top:8px;color:var(--text-secondary)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;padding:12px 16px;border-bottom:1px solid var(--card-border);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.03);font-size:14px}tr:hover td{background:var(--row-hover)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s;white-space:nowrap;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0d0d0f}.btn-primary:hover:not(:disabled){background:#c49a3a}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text)}.btn-outline:hover:not(:disabled){background:#ffffff0f}.btn-danger{background:transparent;border:1px solid rgba(232,93,58,.3);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#e85d3a1a}.btn-sm{padding:5px 12px;font-size:12px;border-radius:6px}.search-input,.form-select,.form-textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:9px 14px;font-size:14px;color:var(--text);outline:none;font-family:inherit}.search-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #d4a8431a}.form-textarea{width:100%;resize:vertical;min-height:90px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter-btn{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;background:transparent;border:1px solid var(--card-border);color:var(--text-secondary);font-family:inherit}.filter-btn.active{background:#d4a8431f;border-color:var(--accent);color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:#3ecf8e1f;color:var(--success)}.badge-warning{background:#d4a84324;color:var(--accent)}.badge-danger{background:#e85d3a1f;color:var(--accent2)}.badge-muted{background:#ffffff0f;color:var(--text-secondary)}.cover-preview{width:120px;height:72px;object-fit:cover;border-radius:8px;background:#ffffff0a;border:1px solid var(--card-border)}.oss-box{padding:16px;border-radius:12px;background:#1e1e24b3;border:1px solid var(--card-border);margin-bottom:12px}.oss-box h4{margin-bottom:8px}.oss-box p{font-size:13px;color:var(--text-secondary);line-height:1.7}code{background:#ffffff0f;padding:1px 6px;border-radius:4px;font-size:12px}.empty-tip{text-align:center;color:var(--text-secondary);padding:40px}@media(max-width:768px){.page-title{font-size:22px}}
