:root{font-family:"Noto Sans CJK SC","Microsoft YaHei","PingFang SC",sans-serif;color:#243833;background:#f4f3ea;font-size:16px;line-height:1.56;--ink:#223a30;--pine:#295140;--leaf:#3f6755;--paper:#fffef9;--edge:#dddcd0;--muted:#58665e}
*{box-sizing:border-box}body{margin:0;min-width:300px}a{color:#295b46;text-underline-offset:4px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--pine);color:white;border:1px solid transparent;padding:.52rem .94rem;min-height:2.6rem;font:inherit;font-weight:650;border-radius:.42rem;cursor:pointer;text-decoration:none}
button:hover,.button:hover{background:#37664f}.quiet{color:#345043;background:#edf0e8;border-color:#d1dacd}.quiet:hover{background:#dce8dc}
:focus-visible{outline:3px solid #ab7a32;outline-offset:3px}
aside{width:15.2rem;position:fixed;inset:0 auto 0 0;background:#233f34;color:#f3f4e9;padding:2rem 1.1rem 1.2rem;display:flex;flex-direction:column;z-index:2}
.brand{display:flex;align-items:center;gap:.75rem;color:white;text-decoration:none;font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;font-size:1.35rem;font-weight:700;letter-spacing:.07em;padding:0 .45rem}
.brand-mark{height:2.65rem;width:2.65rem;display:grid;place-items:center;background:#f8edc9;border-radius:.48rem;color:#365641;font-size:1.45rem;font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;font-weight:700}
.brand small{display:block;font-family:inherit;font-size:.67rem;font-weight:500;letter-spacing:.08em;color:#dbe7db;margin-top:.08rem}
nav{margin-top:2.15rem;display:grid;gap:.35rem}
.nav-item{display:flex;align-items:center;gap:.72rem;padding:.58rem .65rem;border-radius:.42rem;color:#e6ede1;text-decoration:none;white-space:nowrap}
.nav-item span{font-size:1.08rem;display:inline-block;width:1.12rem;text-align:center}
.nav-item.active,.nav-item:hover{background:#4a6a55;color:#fff}
.account{margin-top:auto;border-top:1px solid #5c715f;padding:1rem .65rem 0}
.account small{display:block;color:#d5dfd2;margin:.1rem 0 .55rem}
.account button{background:transparent;border-color:#718475;padding:.32rem .65rem;min-height:2rem}
main{margin-left:15.2rem;padding:2.3rem clamp(1.2rem,4vw,4.7rem) 5rem;max-width:92rem}
.pagehead{margin:0 0 1.6rem;border-bottom:1px solid #dcdccf;padding-bottom:1.13rem}
.pagehead h1{font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;color:var(--ink);margin:0;font-size:clamp(2rem,4vw,3.15rem);letter-spacing:.06em;line-height:1.18}
.pagehead p{margin:.56rem 0 0;color:var(--muted)}
.panel{padding:1.35rem clamp(1rem,2vw,1.7rem);margin:0 0 1.2rem;background:var(--paper);border:1px solid var(--edge);border-radius:.58rem}
.panel h2{color:var(--ink);font-size:1.25rem;margin:0 0 .88rem;letter-spacing:.04em}
.panel p{margin:.5rem 0 1rem}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 1.2rem;background:#e6ebdf;border:1px solid #d7dbca;border-radius:.55rem}
.metrics article{padding:1rem 1.25rem}.metrics article+article{border-left:1px solid #ccd6c9}.metrics span{display:block;color:#45574e;font-size:.9rem}.metrics strong{display:block;color:#285240;font-size:2rem;line-height:1.2;margin-top:.22rem}
label{display:grid;min-width:0;gap:.3rem;color:#3c5047;font-size:.85rem;font-weight:650}
input,textarea,select{border:1px solid #c7d0c4;background:#fff;color:#223a30;border-radius:.35rem;padding:.52rem .64rem;min-height:2.58rem;font:inherit;font-size:.96rem;max-width:100%;width:100%}
textarea{min-height:6rem;resize:vertical}input[type=file]{padding:.38rem}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:.1rem 0 .45rem;align-items:end}
.form+.form{margin-top:1.15rem}
.form label:has(textarea),.upload{grid-column:1/-1}
.form>button{justify-self:start}
.form.filters{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.95rem}
.upload{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}.upload label{flex:1 1 17rem}.rec-state{color:var(--muted);font-size:.85rem}
.inline-form,.search{display:flex;gap:.55rem;align-items:end;flex-wrap:wrap}.search{margin-bottom:.9rem}.search input{width:min(25rem,100%)}.search a{align-self:center}
.item{padding:.8rem 0 1rem;border-top:1px solid #e7e7dc}
.item-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.item h3{font-size:1.08rem;color:#2b453a;margin:0}.item p{margin:.3rem 0 .65rem}
.item .inline-form,.item .form{margin-top:.5rem}.detail{white-space:pre-wrap;overflow-wrap:anywhere}
.notice{padding:.68rem .9rem;background:#e4ede3;border-left:3px solid #477350;color:#2f503d;border-radius:.24rem}
.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:.3rem;padding:.17rem .42rem;background:#e9eee4;color:#315340;font-size:.8rem;font-weight:650}
.badge[data-state=pending],.badge[data-state=review],.badge[data-state=待核实]{background:#f5e9cd;color:#765416}
.badge[data-state=stopped],.badge[data-state=withdrawn],.badge[data-state=rejected]{background:#f3e6e1;color:#7b453c}
.muted,.empty{color:var(--muted);font-size:.88rem}
.reply{background:#f1f2e8;padding:.55rem .75rem;border-left:2px solid #91a68b;white-space:pre-wrap}
audio{width:min(100%,25rem);display:block;margin:.6rem 0}
.attachment{display:inline-block;margin:.15rem 0 .45rem}
.table-scroll{width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;text-align:left}
th,td{padding:.55rem .52rem;border-bottom:1px solid #e4e6db;vertical-align:top;white-space:normal}
th{font-size:.86rem;background:#eef0e6;color:#3b5146;font-weight:700}
td{font-size:.92rem;min-width:4.15rem}
.login{min-height:100vh;background:linear-gradient(145deg,#e8ece0,#faf3e0);padding:clamp(1.3rem,8vw,5rem)}
.login-card{margin:auto;max-width:43rem;background:var(--paper);border:1px solid #d9dfd0;border-radius:1rem;padding:clamp(1.4rem,5vw,3rem)}
.login-card h1{font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;font-size:clamp(2.5rem,6vw,4rem);color:var(--ink);margin:.3rem 0;letter-spacing:.09em}
.login-card h2{font-size:1.05rem;margin-top:1.65rem}.login-card p{color:var(--muted);margin:.2rem 0 .9rem}
.login-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0 0 1rem}
.login-options button{display:grid;justify-content:start;gap:0;text-align:left;background:#edf1e8;color:#254b37;border-color:#d1ddce}
.login-options button:hover{background:#dce9db}.login-options span{color:#52675a;font-size:.76rem;font-weight:500}
@media(max-width:780px){
 aside{position:static;width:auto;padding:.85rem 1rem .65rem}nav{display:flex;gap:.25rem;overflow:auto;margin-top:.7rem;padding-bottom:.16rem}.nav-item{padding:.38rem .5rem;font-size:.9rem}
 .account{margin:.35rem 0 0;border:0;display:flex;align-items:center;gap:.55rem;padding:0;font-size:.8rem;flex-wrap:wrap}.account small{margin:0}.account button{padding:.2rem .5rem;min-height:1.85rem}
 main{margin-left:0;padding:1.25rem .92rem 3rem}.pagehead{margin-bottom:1rem}.form.filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){.form,.metrics{grid-template-columns:1fr}.metrics article+article{border-left:0;border-top:1px solid #ccd6c9}.metrics article{padding:.65rem .85rem}.login-options{grid-template-columns:1fr}.panel{padding:1rem}.item-top{align-items:flex-start}}
