:root{font-family:system-ui,'Microsoft YaHei',sans-serif;background:#f3f5ef;color:#294635}*{box-sizing:border-box}body{margin:0}header{background:#244d38;color:white;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:15px}header a{color:white;text-decoration:none;font-weight:700}header span{font-size:12px;opacity:.8}main{max-width:1150px;margin:30px auto;padding:0 20px}h1{font-size:27px;margin:0}h2{font-size:18px}h2 small{font-weight:400;color:#94a089;font-size:11px}p{font-size:12px;line-height:1.8;color:#819275}.heading{display:flex;justify-content:space-between;align-items:center}.card{background:white;border:1px solid #dfe6d7;border-radius:14px;padding:23px;margin:20px 0}.login{max-width:440px;margin:60px auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.stats article{background:#e5eddd;padding:20px;border-radius:12px}.stats small{color:#7f956c}.stats strong{display:block;margin-top:7px;font-size:27px}.notice{padding:12px 15px;background:#fff4d9;color:#937a43;border-radius:8px;border:1px solid #eddfbd}button{font:inherit;background:#306448;color:white;border:0;border-radius:8px;padding:10px 15px;cursor:pointer;font-size:12px}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb9855;outline-offset:2px}input,select,textarea{width:100%;font:inherit;font-size:13px;padding:11px;border-radius:8px;border:1px solid #dbe4d3;margin:7px 0 12px;background:#fafcf7;color:#36553b}label{display:block;font-size:12px;margin-top:13px;color:#788d68}textarea{min-height:80px;resize:vertical}.search{display:flex;align-items:center;gap:10px}.search input{margin:0;flex:1}.table-wrap{overflow:auto;margin:18px 0}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid #eaf0e3}th{color:#8d9c7c;font-size:11px;background:#f5f8f0}td small{display:block;color:#a1ad94;font-size:9px;margin-top:5px}.pager{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8b9c79}.audit-row{padding:14px 0;border-bottom:1px solid #e7eddf}.audit-row strong{font-size:13px}.audit-row p{margin:6px 0}.audit-row small{color:#a1ac93;font-size:10px}dialog{width:min(480px,calc(100vw - 24px));max-height:90dvh;border:1px solid #dae4cf;border-radius:16px;padding:22px;background:#fafcf6;color:#37583b}dialog::backdrop{background:#16391a70}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head button{background:#e5eddb;color:#789363}#adjustError,#loginError{color:#a74730}#adminToast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#244d38;color:white;padding:13px 22px;border-radius:10px;display:none;font-size:13px;max-width:90vw}#adminToast.show{display:block}[hidden]{display:none!important}@media(max-width:650px){header{padding:15px}header span{display:none}main{padding:0 12px}.card{padding:15px}h1{font-size:22px}.stats{gap:8px}.stats article{padding:13px}.stats small{font-size:10px}.stats strong{font-size:23px}.search button{white-space:nowrap}}

.admin-nav{display:flex;gap:12px;flex-wrap:wrap}.admin-nav a{padding:9px 15px;background:#e3ecd9;color:#587848;border-radius:8px;text-decoration:none;font-size:12px}.review-row{padding:16px 0;border-bottom:1px solid #e5eddd}.review-row strong{font-size:13px}.review-row p{margin:7px 0}.review-row small{font-size:10px;color:#9aab8d;overflow-wrap:anywhere}.review-row button{margin:8px 8px 0 0}.danger{background:#a96c4d}#reviewError{color:#a74730}

/* Shanshan shared brand */
:root{background:#f6f4e9;color:#2d503c}header{background:#28563e}header a{font-family:'Songti SC',serif;font-size:22px;letter-spacing:2px}.card{background:#fffdf4;border-color:#e3e4d2;border-radius:19px;box-shadow:0 6px 25px #2c4b2110}.stats article{background:#e9edda;border:1px solid #dce3c9;border-radius:15px}.stats strong{color:#315a3d}.login{box-shadow:0 20px 60px #2e4e2414}button{border-radius:9px;background:#28563e}input,select,textarea{background:#fcfcf5;border-color:#d9dfc9}h1{font-family:'Songti SC',serif;letter-spacing:1px}
