:root{--bg:#f5f6f8;--side:#1f2430;--side2:#2a3140;--line:#e6e8ec;--text:#1d2129;--sub:#86909c;--brand:#fe5516;--ok:#00b42a}*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}.hide{display:none!important}#login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2430,#363d4f)}.login-card{width:360px;background:#fff;border-radius:12px;padding:32px;box-shadow:0 20px 60px #00000040}.login-card h1{margin:0 0 6px;font-size:22px}.login-card p{margin:0 0 24px;color:var(--sub);font-size:13px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--sub);margin-bottom:6px}.field input,.field select{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font:inherit;background:#fff}.btn{height:40px;border:0;border-radius:8px;background:var(--brand);color:#fff;padding:0 16px}.btn.ghost{background:#f2f3f5;color:var(--text)}.btn.small{height:30px;padding:0 10px;font-size:13px}#app{display:flex;min-height:100vh}.side{width:210px;background:var(--side);color:#c9cdd4;padding:18px 0;flex-shrink:0}.side h2{color:#fff;font-size:16px;margin:0 20px 18px}.side a{display:block;padding:10px 20px;color:#c9cdd4;text-decoration:none;font-size:14px;cursor:pointer}.side a:hover{background:var(--side2)}.main{flex:1;min-width:0;padding:20px 24px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.top h3{margin:0;font-size:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.card{background:#fff;border-radius:10px;padding:16px}.card .n{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.card .l{color:var(--sub);font-size:13px;margin-top:4px}.panel{background:#fff;border-radius:10px;padding:14px 16px;margin-bottom:16px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.toolbar input{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;width:220px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--sub);font-weight:500;background:#fafbfc;position:sticky;top:0}td .muted{color:var(--sub)}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;color:var(--sub)}.badge{display:inline-block;padding:1px 8px;border-radius:10px;background:#eef1f5;color:#4e5969;font-size:12px}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:12px;width:min(640px,92vw);max-height:86vh;overflow:auto;padding:20px}.modal h4{margin:0 0 14px;font-size:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid .full{grid-column:1/-1}textarea{width:100%;min-height:90px;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.empty{padding:30px;text-align:center;color:var(--sub)}.bars{display:flex;align-items:flex-end;gap:8px;height:130px;padding-top:8px}.bars .bar{flex:1;max-width:72px;background:#ffe5d9;border-radius:6px 6px 0 0;position:relative;min-height:2px}.bars .bar i{position:absolute;left:0;right:0;top:0;bottom:0;background:var(--brand);border-radius:6px 6px 0 0;opacity:.85}.bars .bar span{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:11px;color:var(--sub)}.toast{position:fixed;left:50%;top:24px;transform:translate(-50%);background:#1d2129;color:#fff;padding:9px 16px;border-radius:8px;font-size:13px;opacity:0;transition:.2s}.toast.on{opacity:1}@media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.side{width:150px}.grid{grid-template-columns:1fr}}.side{overflow-y:auto}.group{margin-bottom:2px}.gtitle{display:flex;align-items:center;justify-content:space-between;padding:9px 20px;color:#a9b0bd;font-size:12px;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.gtitle:hover{background:#2a3140}.group.active>.gtitle{color:#fff}.gtitle .chev{font-size:11px;opacity:.7}.side a.sub{padding-left:34px;font-size:13px}.side a.on{background:var(--brand);color:#fff}#app-main{display:flex;min-height:100vh}#app-main.hide{display:none}#app{display:block;width:100%}#login{width:100%}.legal-body{min-height:320px;line-height:1.8}.legal-publish{display:flex;gap:10px;align-items:center;margin:20px 0}.legal-publish input{width:auto}.self-editor textarea{width:100%;min-height:90px;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;resize:vertical}.self-question{padding:18px;margin:18px 0;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.self-option{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:14px;align-items:center}.self-band-fields{display:grid;grid-template-columns:100px 100px minmax(0,1fr) auto;gap:14px;align-items:center}.self-editor .actions{flex-wrap:wrap;gap:12px}.self-result-dialog{max-height:85vh;overflow:auto;width:760px;max-width:95vw}
