:root{
  --brown:#5b3a1e; --brown2:#8a5a2b; --gold:#c8962a; --gold2:#e0b347;
  --cream:#faf6ef; --line:#e7dcc8; --ink:#2b2118; --green:#2e7d32; --red:#c0392b;
}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--cream);color:var(--ink);line-height:1.6;}
header{background:linear-gradient(135deg,var(--brown),var(--brown2));color:#fff;
  padding:22px 18px;border-bottom:4px solid var(--gold);}
header .wrap{max-width:1080px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:10px;}
header h1{margin:0;font-size:24px;letter-spacing:2px;}
header h1 small{display:block;font-size:12px;opacity:.8;font-weight:400;letter-spacing:1px;}
header nav a{color:#fff;text-decoration:none;margin-left:14px;font-size:14px;opacity:.92;}
header nav a:hover{color:var(--gold2);}
main{max-width:1080px;margin:18px auto;padding:0 14px;}
.flash{padding:10px 14px;border-radius:8px;margin:10px 0;background:#fff7e6;
  border:1px solid var(--gold2);color:var(--brown);font-size:14px;}
.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;}
.filters a{padding:8px 4px;border:1px solid var(--line);border-radius:20px;
  text-decoration:none;color:var(--brown2);font-size:13px;background:#fff;
  text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.filters a.active{background:var(--brown2);color:#fff;border-color:var(--brown2);font-weight:700;}
.filters a:hover{border-color:var(--gold);}
.filters-plat{grid-template-columns:repeat(3,1fr);}
.filter-label{font-size:12px;color:#9b8a72;margin:12px 0 6px;letter-spacing:2px;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:8px;}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 8px rgba(91,58,30,.06);display:flex;flex-direction:column;}
.card .top{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#3a2a10;
  padding:14px 16px;}
.card .top .amt{font-size:30px;font-weight:800;line-height:1;}
.card .top .amt small{font-size:14px;font-weight:600;}
.card .top .ttl{font-size:15px;margin-top:6px;font-weight:700;}
.card .body{padding:12px 16px;flex:1;}
.card .body .row{font-size:13px;color:#6b5a44;margin:3px 0;}
.tag{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px;
  background:var(--cream);border:1px solid var(--line);color:var(--brown2);margin-right:6px;}
.card .foot{padding:12px 16px;border-top:1px solid var(--line);}
.btn{display:inline-block;padding:9px 18px;border:none;border-radius:8px;cursor:pointer;
  font-size:14px;text-decoration:none;background:var(--brown2);color:#fff;
  transition:.15s;font-weight:600;}
.btn:hover{background:var(--brown);}
.btn.gold{background:var(--gold);color:#3a2a10;}
.btn.gold:hover{background:var(--gold2);}
.btn.ghost{background:#fff;color:var(--brown2);border:1px solid var(--brown2);}
.btn.block{width:100%;text-align:center;}
.detail{max-width:640px;margin:20px auto;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:22px;}
.detail h2{margin-top:0;color:var(--brown);}
.field{margin:10px 0;}
.field label{display:block;font-size:13px;color:var(--brown2);margin-bottom:4px;}
.field input,.field select,.field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);
  border-radius:8px;font-size:14px;font-family:inherit;}
.field textarea{resize:vertical;min-height:60px;}
.notice{background:#fff7e6;border-left:4px solid var(--gold);padding:10px 14px;
  font-size:13px;color:var(--brown);border-radius:6px;margin:12px 0;}
.code-box{font-size:26px;font-weight:800;letter-spacing:3px;color:var(--red);
  background:#fff0f0;border:1px dashed var(--red);padding:14px;text-align:center;border-radius:10px;}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px;}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;}
th{background:var(--cream);color:var(--brown2);}
footer{text-align:center;color:#9b8a72;font-size:12px;padding:24px;margin-top:20px;}
.kpi{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 18px;}
.kpi .box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 18px;flex:1;min-width:120px;}
.kpi .box .n{font-size:24px;font-weight:800;color:var(--brown2);}
.kpi .box .l{font-size:12px;color:#6b5a44;}
.searchbar{display:flex;gap:8px;margin:12px 0 2px;}
.searchbar input{flex:1;padding:9px 14px;border:1px solid var(--line);border-radius:20px;font-size:14px;background:#fff;color:#3a2a10;}
.sortline{display:flex;gap:6px;margin:12px 0 2px;font-size:13px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px 12px;}
.sortline > span{color:#9b8a72;}
.sortline a{color:var(--brown2);text-decoration:none;padding:3px 10px;border-radius:14px;}
.sortline a.active{font-weight:700;color:#fff;background:var(--brown2);}
.sortline a:hover{color:var(--gold2);}
.sortline a.active:hover{color:#fff;}
