:root{font-family:Inter,"PingFang SC",sans-serif;color:#27251f;background:#ebe7de}*{box-sizing:border-box}body{margin:0}.shell{width:min(1200px,calc(100% - 32px));margin:32px auto 80px}.hero{display:flex;justify-content:space-between;align-items:end;padding:34px;border-radius:24px;background:#183c2c;color:#fff;box-shadow:0 18px 55px #173a2926}.eyebrow{margin:0 0 9px;font-size:12px;letter-spacing:.18em;color:#b8d7c7}.hero h1{margin:0;font-family:serif;font-size:38px}.lead{margin:12px 0 0;color:#d9e6df}.token-field{display:grid;gap:7px;font-size:12px;color:#b8d7c7}.token-field input{width:220px}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:18px 0}.stats article{display:grid;gap:4px;padding:18px;background:#fff;border-radius:14px}.stats strong{font-size:25px;color:#1c5139}.stats span{font-size:12px;color:#79756c}.tabs{display:flex;gap:8px;margin:22px 0 12px}.tabs button{background:#d8d2c6;color:#5d594f}.tabs button.active{background:#183c2c;color:#fff}.tab-page{display:none}.tab-page.active{display:block}.panel{padding:25px;margin-bottom:16px;border-radius:20px;background:#fff;box-shadow:0 12px 38px #514a3b12}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.panel h2{margin:0;font-size:20px}.panel p{margin:6px 0;color:#7a766d;font-size:13px}button,input,select{font:inherit;border:0;border-radius:9px}button{padding:10px 15px;background:#245d42;color:#fff;cursor:pointer}button.secondary{background:#e8e5dd;color:#413e37}button.danger{padding:6px 9px;background:#f4dfdb;color:#8d3428}input,select{padding:9px 10px;border:1px solid #d8d2c6;background:#fff}.drop-zone{height:190px;margin-top:20px;border:2px dashed #b7b09f;border-radius:16px;display:grid;place-content:center;text-align:center;gap:8px;color:#6f6a60;cursor:pointer}.drop-zone.dragging{border-color:#245d42;background:#f0f7f3}.drop-zone input{display:none}.upload-icon{font-size:36px;color:#286046}.selection{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.is-hidden{display:none!important}.progress{height:4px;margin-top:15px;background:#ddd;overflow:hidden}.progress span{display:block;width:38%;height:100%;background:#2e7452;animation:load 1s infinite alternate}@keyframes load{to{transform:translateX(160%)}}.message{min-height:20px;color:#286046}.message.error{color:#a1362c}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px;margin-top:18px}.asset-card{overflow:hidden;border:1px solid #e4dfd5;border-radius:12px}.asset-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.asset-card div{display:grid;gap:5px;padding:10px}.asset-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card span{font-size:11px;color:#8a857c}.catalog-list{display:grid;gap:14px;margin-top:18px}.material-block{border:1px solid #e1ddd3;border-radius:15px;padding:14px}.material-row{display:grid;grid-template-columns:auto minmax(140px,1fr) minmax(130px,1fr) 120px auto auto;gap:10px;align-items:end}.material-row label,.batch label{display:grid;gap:4px;font-size:11px;color:#777269}.material-row .check{display:flex;align-items:center;padding-bottom:10px}.material-title{display:grid;gap:3px;align-self:center}.material-title span{font-size:11px;color:#89847b}.orb{width:40px;height:40px;align-self:center;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--a),var(--b) 48%,var(--c));box-shadow:inset -4px -5px 8px #0002}.batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px;margin-top:13px}.batch{display:grid;grid-template-columns:1fr 62px 84px auto;gap:6px;align-items:end;padding:8px;background:#f5f2ec;border-radius:9px}.batch span{font-size:10px;align-self:center}.batch input,.batch select{width:100%;padding:6px}.batch button{padding:7px}.record-list{display:grid;gap:9px;margin-top:18px}.record{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;padding:14px;border:1px solid #e2ded4;border-radius:12px}.record>div{display:grid;gap:4px}.record strong{font-family:monospace}.record span{font-size:12px;color:#7f7a71}.record b{color:#245d42}.empty{padding:28px;text-align:center;color:#89847b}@media(max-width:800px){.hero{display:grid;gap:20px}.stats{grid-template-columns:repeat(3,1fr)}.tabs{overflow-x:auto}.material-row{grid-template-columns:auto 1fr}.material-row label,.material-row button{grid-column:span 1}.record{grid-template-columns:1fr}.batch{grid-template-columns:1fr 55px 80px}.batch button{grid-column:1/-1}}
