:root{--primary:#1664ff;--primary-hover:#0e4fd6;--primary-soft:#eef4ff;--primary-soft-2:#e8f0ff;--success:#00b42a;--success-text:#00a028;--success-soft:#e8f8ee;--warning:#ff7d00;--warning-text:#d25f00;--warning-soft:#fff3e8;--danger:#f53f3f;--danger-text:#cb2634;--danger-soft:#fff2f0;--purple:#7b61ff;--purple-soft:#f1edff;--text:#1f2329;--text-2:#646a73;--text-3:#8f959e;--border:#e5e6eb;--divider:#eef0f3;--fill:#f2f3f5;--fill-2:#f7f8fa;--bg:#f5f7fa;--white:#fff;--radius:8px;--radius-card:12px;--font:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--sidebar:232px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p,dl,dd{margin:0}.panel{background:var(--white);border-radius:var(--radius-card);flex-direction:column;gap:16px;padding:20px;display:flex}.panel-head{align-items:baseline;gap:12px;display:flex}.panel-title{padding-left:12px;font-size:18px;font-weight:700;position:relative}.panel-title:before{content:"";background:var(--primary);border-radius:2px;width:4px;height:16px;margin-top:-8px;position:absolute;top:50%;left:0}.panel-sub{color:var(--text-3);flex:1;font-size:13px}.page-title{font-size:28px;font-weight:700}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.btn{border-radius:var(--radius);background:var(--primary);height:36px;color:var(--white);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;transition:background .15s,transform .1s;display:inline-flex}.btn:hover{background:var(--primary-hover);color:var(--white)}.btn:active{transform:scale(.98)}.btn:disabled{background:var(--fill);color:var(--text-3);border-color:var(--border);cursor:not-allowed;transform:none}.btn--lg{height:40px;padding:0 20px;font-size:15px}.btn--sm{border-radius:6px;height:30px;padding:0 12px;font-size:13px}.btn--outline{background:var(--white);color:var(--primary);border-color:var(--primary)}.btn--outline:hover{background:var(--primary-soft);color:var(--primary)}.btn--danger{background:var(--white);color:var(--danger);border-color:var(--danger)}.btn--danger:hover{background:var(--danger-soft);color:var(--danger)}.btn--warning{background:var(--warning)}.btn--warning:hover{background:#e56f00}.btn--block{width:100%}.link-btn{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.tag{background:var(--fill);color:var(--text-2);white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.tag--success{background:var(--success-soft);color:var(--success-text)}.tag--primary{background:var(--primary-soft-2);color:var(--primary)}.tag--warning{background:var(--warning-soft);color:var(--warning-text)}.tag--danger{background:var(--danger-soft);color:var(--danger-text)}.dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filter{background:var(--fill);height:32px;color:var(--text);cursor:pointer;border:0;border-radius:6px;padding:0 16px;font-size:14px}.filter.is-active{background:var(--primary);color:var(--white)}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:14px;display:flex}.input{border-radius:var(--radius);border:1px solid var(--border);background:var(--white);height:40px;color:var(--text);padding:0 12px;font-size:14px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}textarea.input{resize:vertical;height:auto;padding:10px 12px}.table-wrap{overflow-x:auto}.panel,.table-wrap,.field{min-width:0}.input{width:100%;min-width:0}.facts dd{overflow-wrap:anywhere;min-width:0}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{background:var(--fill-2);text-align:left;color:var(--text-2);white-space:nowrap;padding:10px 12px;font-weight:500}.table td{border-bottom:1px solid var(--fill);padding:12px}.table tr:last-child td{border-bottom:0}.avatar{background:var(--primary-soft-2);color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.placeholder{background:var(--fill);color:var(--text-3);justify-content:center;align-items:center;font-size:13px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:16px;display:grid}.actions,.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar>.input{flex:1;width:auto;min-width:180px}.facts{grid-template-columns:auto 1fr;gap:10px 20px;display:grid}.facts dt{color:var(--text-3)}.editor{gap:20px}.public-page{flex-direction:column;min-height:100dvh;display:flex}.public-page>.content{flex:1;width:100%}.content{flex-direction:column;gap:20px;padding:24px 28px 40px;display:flex}.title-row{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.cols{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.col-main{flex-direction:column;flex:2 640px;gap:20px;min-width:0;display:flex}.col-side{flex-direction:column;flex:320px;gap:20px;min-width:0;display:flex}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.content>*{animation:.45s cubic-bezier(.2,.7,.3,1) both rise}.content>:nth-child(2){animation-delay:50ms}.content>:nth-child(3){animation-delay:.1s}.content>:nth-child(4){animation-delay:.15s}.content>:nth-child(5){animation-delay:.2s}.content>:nth-child(n+6){animation-delay:.25s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.content>*{animation:none}}@media (width<=768px){.content{padding:16px 16px 96px}.page-title{font-size:22px}}.request-error[data-v-530ba656]{z-index:100;color:#a8071a;background:#fff1f0;border:1px solid #ffa39e;border-radius:8px;align-items:center;gap:16px;max-width:90vw;padding:12px 18px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0001}.request-error button[data-v-530ba656]{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0}
