:root{--color-primary:#5c6b4c;--color-primary-dark:#46543b;--color-bg:#f3f1e9;--color-card:#fff;--color-text-1:#2b2b28;--color-text-2:#5f5f58;--color-text-3:#93938a;--color-line:#e3e0d4;--color-warn-bg:#fbf3e2;--color-warn-line:#e6cfa0;--color-warn-text:#7a5a1d;--color-danger:#a5402f;--radius:12px;--shadow:0 1px 2px #2b2b280d, 0 8px 24px #2b2b280f;--font:-apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:var(--color-bg);color:var(--color-text-1);font-family:var(--font);margin:0;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit;font-size:inherit;color:inherit}.shell{flex-direction:column;min-height:100vh;display:flex}.shell__header{border-bottom:1px solid var(--color-line);z-index:10;background:#fff;align-items:center;gap:32px;padding:14px 32px;display:flex;position:sticky;top:0}.shell__brand{align-items:center;gap:12px;display:flex}.shell__mark{background:var(--color-primary);color:#f7f5ee;border-radius:10px;place-items:center;width:38px;height:38px;font-family:Kaiti SC,KaiTi,serif;font-size:22px;display:grid}.shell__brand-text{flex-direction:column;line-height:1.3;display:flex}.shell__brand-text strong{letter-spacing:.5px;font-size:16px;font-weight:600}.shell__brand-text small{color:var(--color-text-3);font-size:12px}.shell__nav{flex:1}.shell__nav-link{color:var(--color-text-2);border-radius:8px;padding:6px 14px;font-size:14px;display:inline-block}.shell__nav-link.router-link-active{color:var(--color-primary-dark);background:#eef1e7;font-weight:500}.shell__user{align-items:center;gap:10px;display:flex}.shell__username{font-size:14px;font-weight:500}.shell__role{color:var(--color-primary-dark);background:#eef1e7;border-radius:999px;padding:2px 8px;font-size:12px}.shell__main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 32px 48px}.shell__footer{color:var(--color-text-3);text-align:center;padding:18px 32px 28px;font-size:12px}.btn{background:var(--color-primary);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 18px;font-size:14px;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-primary-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){filter:brightness(.94)}.btn--link{color:var(--color-primary-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.btn--link:hover:not(:disabled){color:var(--color-primary)}.btn--ghost{border-color:var(--color-line);color:var(--color-text-2);background:0 0}.btn--ghost:hover:not(:disabled){color:var(--color-text-1);background:#f6f4ed}.btn--block{width:100%}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--color-text-2);font-size:13px}.input{border:1px solid var(--color-line);background:#fff;border-radius:9px;outline:none;height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5c6b4c24}.select{border:1px solid var(--color-line);background:#fff;border-radius:9px;height:40px;padding:0 10px}.card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:22px 24px}.panel__title{margin:0 0 14px;font-size:16px;font-weight:600}.alert{border-radius:9px;padding:12px 16px;font-size:13px}.alert--warn{background:var(--color-warn-bg);border:1px solid var(--color-warn-line);color:var(--color-warn-text)}.alert--error{color:var(--color-danger);background:#fbecea;border:1px solid #edc4bd}.muted{color:var(--color-text-3)}.small{font-size:12px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{letter-spacing:.5px;margin:0;font-size:22px;font-weight:600}.page-head p{color:var(--color-text-3);margin:4px 0 0;font-size:13px}.chip{white-space:nowrap;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:12px;display:inline-flex}.chip--published{color:#3f6034;background:#e8f0e3}.chip--draft{color:#7b6428;background:#f4efe0}.chip--in_review{color:#3c5c85;background:#e7eef7}.chip--archived{color:#6e6e68;background:#eeedeb}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-line);vertical-align:middle;padding:12px 14px}.table th{color:var(--color-text-3);letter-spacing:.4px;background:#faf9f4;font-size:12px;font-weight:500}.table tbody tr:last-child td{border-bottom:none}.table--compact th,.table--compact td{padding:8px 10px;font-size:13px}.table__actions{justify-content:flex-end;gap:10px;display:flex}.textarea{resize:vertical;min-height:140px;font-family:var(--font);line-height:1.8}.empty{text-align:center;color:var(--color-text-3);padding:56px 24px}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.shell__header{flex-wrap:wrap;gap:12px;padding:12px 16px}.shell__nav{flex-basis:100%;order:3}.shell__main{padding:20px 16px 40px}.shell__brand-text small,.shell__role{display:none}}.chip--pending{color:#7a5a1d;background:#fbf3e2}.chip--assigned{color:#35526f;background:#e8eef5}.chip--replied{color:#3f5c34;background:#e6efe2}.chip--closed{color:#6f6f68;background:#ecebe5}
