:root{font-family:'Segoe UI','Microsoft YaHei',sans-serif;color:#183e33;background:#f5f6f0}*{box-sizing:border-box}body{margin:0}header{padding:20px 6%;background:white;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e7db}header strong{font-size:24px}a{color:#447354}main{max-width:1180px;margin:40px auto;padding:0 24px}h1{font-size:36px;margin:0 0 12px}p{line-height:1.8;color:#60776c}.card{background:white;border:1px solid #e1e7dc;border-radius:18px;padding:26px;margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.grid .card{margin:0}img{width:100%;height:180px;object-fit:cover;border-radius:12px}button,.button{background:#447354;color:white;border:0;padding:12px 19px;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-block;font:inherit}button.secondary{color:#31533f;background:#e6edde}button:disabled{opacity:.5;cursor:wait}input,select,textarea{padding:11px;border:1px solid #dbe3d7;border-radius:8px;font:inherit;width:100%;margin:8px 0 18px}label{display:block;color:#536b5a}input:focus,button:focus-visible,select:focus{outline:3px solid #d1b06b}.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.bar input,.bar select{width:auto;max-width:100%;margin:0}.pill{font-size:12px;border-radius:20px;padding:5px 10px;background:#e9efdf}dialog{border:1px solid #dbe3d7;border-radius:18px;padding:30px;width:520px;max-width:94vw;color:#183e33}dialog::backdrop{background:#183e3366}#message{white-space:pre-wrap;padding:14px 0;min-height:45px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid #e3e8df}small{color:#718176}.muted{color:#718176}[hidden]{display:none!important}.login{max-width:440px;margin:60px auto}.hero{padding:45px 30px;background:linear-gradient(115deg,#dae6d7,#f6efdb);border-radius:20px;margin-bottom:30px}footer{margin:50px 0;color:#718176;font-size:13px}pre{white-space:pre-wrap}.compact{max-height:440px;overflow:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:20px}@media(max-width:650px){h1{font-size:28px}.top{display:block}header{gap:15px}main{margin:24px auto}} 
