:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#253b35;background:#f6f7f2;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.filebtn{cursor:pointer;border:1px solid #d6ded8;border-radius:9px;padding:11px 16px;background:white;color:#29483e}button:hover,.filebtn:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c4a767}header{height:85px;border-bottom:1px solid #e0e5dc;display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,24px);background:#fff}.brand{font-size:26px;font-weight:700;letter-spacing:3px;color:#244c43;text-decoration:none}.brand span{font-size:10px;letter-spacing:2px;margin-left:20px;font-weight:500}.badge{background:#edf2e8;color:#617354;border-radius:30px;padding:7px 13px;font-size:12px}main{max-width:1280px;margin:auto;padding:44px 40px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:2px;color:#8b7753;margin:0 0 12px}h1{font-size:36px;letter-spacing:1px;margin:0 0 14px;font-weight:650}h2{font-size:19px;margin:0}.muted{color:#7c8880;font-size:13px;line-height:1.7}.primary,.dark{background:#244c43;color:#fff;border-color:#244c43}.primary{padding:14px 24px}.notice{display:flex;align-items:center;gap:15px;background:#eeefe4;border:1px solid #e3e5d3;border-radius:10px;padding:15px 18px;font-size:12px}.notice span{flex:1;color:#777d66}.notice button,.notice .filebtn{background:transparent;padding:7px 10px;font-size:12px}.toolbar{display:flex;align-items:end;gap:16px;margin:28px 0 22px}.toolbar label{min-width:180px;flex:1}label{font-size:12px;color:#697b70}input,select{display:block;width:100%;border:1px solid #dce2d9;border-radius:8px;padding:11px 12px;background:#fff;margin-top:7px;color:#2d4037;min-height:42px}.toolbar .search{flex:1.6}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dfe4db;background:white;border-radius:12px;padding:23px 0;margin-bottom:34px}.stats div{padding:0 27px;border-right:1px solid #e8ece5}.stats div:last-child{border:0}.stats span{display:block;color:#839085;font-size:12px;margin-bottom:13px}.stats strong{font-size:28px;font-weight:550;font-variant-numeric:tabular-nums}.stats small{font-size:12px;color:#849184;font-weight:400}.listhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}.listhead p{margin-bottom:0}#listcount{font-size:12px;color:#8d998f}.empty{text-align:center;border:1px dashed #cfd8cb;border-radius:12px;padding:65px 20px;background:#fafbf7}.empty .symbol{font-size:32px;color:#9ea98f;margin-bottom:15px}.empty h3{font-weight:500}.empty p{color:#8b9589;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid #e0e6dc;border-radius:12px;overflow:hidden}.cardimage{height:180px;background:#eeefe8;display:flex;align-items:center;justify-content:center;color:#9aab98}.cardimage img{width:100%;height:100%;object-fit:contain}.cardbody{padding:18px}.cardtop{display:flex;justify-content:space-between;gap:10px;align-items:center}.pill{font-size:10px;padding:5px 8px;border-radius:20px;background:#edf2e9;color:#698064;white-space:nowrap}.card h3{font-size:17px;margin:12px 0 7px}.card .meta{color:#8b958a;font-size:12px}.cardnumbers{display:flex;justify-content:space-between;border-top:1px solid #eef0eb;margin-top:16px;padding-top:13px;color:#586c5f}.cardnumbers b{font-size:18px;color:#294c3e}.cardactions{display:flex;justify-content:end;gap:6px;margin-top:14px}.cardactions button{font-size:12px;padding:6px 12px}footer{text-align:center;font-size:11px;color:#9aa594;margin-top:50px}dialog{border:0;border-radius:15px;box-shadow:0 25px 90px #102b3240;max-width:850px;width:95vw;padding:0;color:#294237}dialog::backdrop{background:#1a302c75}#editor{max-height:92dvh}.dialoghead,.dialogfoot{padding:20px 26px;display:flex;align-items:center;justify-content:space-between;background:white}.dialoghead{border-bottom:1px solid #e7ebe4}.dialoghead button{border:0}.dialoghead .eyebrow{margin-bottom:7px}.formbody{max-height:68dvh;overflow:auto;padding:23px 26px;background:#fafbf7}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.fields .wide{grid-column:span 3}.photoarea{border:1px dashed #c9d5c6;background:#f1f4eb;padding:20px;text-align:center;border-radius:10px;margin-bottom:24px}.photoarea img{max-width:100%;height:145px;object-fit:contain;display:block;margin:0 auto 15px}.photoarea img[hidden]{display:none}.upload{display:inline-block;background:white;padding:12px 20px;border-radius:8px;cursor:pointer}.upload input{max-width:240px;font-size:12px}.calc{margin-top:20px;background:#edf2e8;border-radius:9px;padding:15px;line-height:1.9;color:#52704e}.dialogfoot{border-top:1px solid #e7ebe4}.dialogfoot span{font-size:12px;color:#7f8f80}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#244c43;color:#fff;border-radius:9px;padding:14px 22px;z-index:10;display:none;max-width:90vw}#confirm{padding:26px;max-width:430px}.actions{display:flex;gap:12px;justify-content:end;margin-top:25px}.danger{color:#a3463d} @media(max-width:760px){header{height:65px;padding:0 20px}.brand{font-size:23px}.brand span{display:none}main{padding:28px 18px}.intro{display:block}h1{font-size:28px}.intro .primary{margin-top:8px;width:100%}.notice{flex-wrap:wrap;gap:10px}.notice span{flex-basis:100%;order:1}.notice button,.notice .filebtn{order:2}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toolbar label{min-width:0}.stats{grid-template-columns:1fr 1fr;padding:8px 0}.stats div{padding:16px 20px}.stats div:nth-child(2){border:0}.stats strong{font-size:24px}.listhead{align-items:start}.listhead p{max-width:170px;font-size:11px}.dark{font-size:12px;padding:11px}.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:110px 1fr}.cardimage{height:100%;min-height:190px}.cardbody{padding:14px}.cardnumbers{font-size:12px}.cardnumbers b{font-size:16px}.fields{grid-template-columns:repeat(2,1fr)}.fields .wide{grid-column:span 2}.formbody{padding:18px}.dialoghead,.dialogfoot{padding:16px 18px}}
