:root{--bg:#f5f3ef;--ink:#17130e;--muted:#7c756b;--gold:#bd9250;--gold2:#edcf8b;--black:#090909;--line:#e3ded5;--green:#2e8b67;--red:#b95345}*{box-sizing:border-box}body{margin:0;background:#e9e5de;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.app-shell{width:min(100%,480px);min-height:100svh;margin:auto;background:var(--bg);position:relative;box-shadow:0 0 40px #0002;padding-bottom:78px}.app-header{height:72px;background:var(--black);color:#fff;display:flex;align-items:center;padding:12px 16px;gap:11px;position:sticky;top:0;z-index:10}.logo{width:40px;height:40px;border:1px solid var(--gold);color:var(--gold2);display:grid;place-items:center;font-family:Georgia;font-weight:700}.app-header strong{font-size:16px}.app-header small{display:block;color:#958d82;font-size:10px;margin-top:3px}.role-btn{margin-left:auto;border:1px solid #ffffff35;background:#ffffff0d;color:var(--gold2);border-radius:20px;padding:8px 11px;font-size:11px}main{padding:0 14px 24px}.hero{margin:0 -14px;background:radial-gradient(circle at 80% 20%,#49371e,#100e0b 45%,#070707);color:white;padding:24px 20px 28px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:190px;height:190px;border:1px solid #d4ab6238;border-radius:50%;right:-45px;top:-50px;box-shadow:0 0 60px #d4ab6222}.hero .eyebrow{color:var(--gold2);font-size:11px;letter-spacing:.18em}.hero h1{font-family:Georgia,"Songti SC",serif;font-size:30px;line-height:1.3;margin:13px 0 10px}.hero p{color:#b7b0a6;font-size:13px;line-height:1.7;margin:0;max-width:320px}.hero-actions{display:flex;gap:9px;margin-top:20px}.primary,.secondary,.gold-btn{border:0;border-radius:9px;padding:12px 16px;font-weight:700}.primary,.gold-btn{background:var(--gold);color:#16100a}.secondary{background:#ffffff12;border:1px solid #ffffff2d;color:white}.section{margin-top:17px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.section h2{font-size:18px;margin:0}.section-head span{font-size:11px;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;min-height:112px;box-shadow:0 4px 14px #46381d08}.quick i{font-style:normal;color:var(--gold);font-size:22px}.quick strong{display:block;margin:9px 0 5px;font-size:15px}.quick small{color:var(--muted);line-height:1.5}.notice{background:#fff9e9;border:1px solid #ead7a8;border-radius:12px;padding:13px;font-size:12px;line-height:1.65;color:#675637}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:#fff;border-radius:12px;padding:13px 9px;border:1px solid var(--line);text-align:center}.stat strong{display:block;font-size:21px}.stat span{font-size:10px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:10px}.card-top{display:flex;justify-content:space-between;align-items:start}.badge{font-size:10px;color:#70521d;background:#f5e7c8;border-radius:14px;padding:4px 8px}.badge.green{color:#1f6c4d;background:#dff1e9}.badge.red{color:#8d3b31;background:#f6dfdc}.card h3{font-size:16px;margin:0 0 6px}.card p{font-size:12px;color:var(--muted);margin:5px 0;line-height:1.55}.progress{height:5px;background:#ece8df;border-radius:5px;margin:12px 0;overflow:hidden}.progress i{display:block;height:100%;background:var(--gold)}.money{font-weight:700;color:#98702f}.list-row{display:flex;align-items:center;gap:11px;background:white;border-bottom:1px solid var(--line);padding:13px 4px}.list-row:last-child{border:0}.avatar{width:38px;height:38px;border-radius:50%;background:#181511;color:var(--gold2);display:grid;place-items:center}.list-row div:nth-child(2){flex:1}.list-row strong{font-size:14px}.list-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.tabbar{position:fixed;z-index:20;bottom:0;width:min(100%,480px);height:68px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{border:0;background:none;color:#958e83;font-size:10px}.tabbar button span{display:block;font-size:20px;line-height:25px}.tabbar button.active{color:#9e7536;font-weight:700}.modal{position:fixed;inset:0;background:#0008;z-index:40;display:flex;align-items:end;justify-content:center}.modal.hidden{display:none}.modal-card{background:#fff;width:min(100%,480px);max-height:88svh;overflow:auto;border-radius:22px 22px 0 0;padding:24px 20px 32px;position:relative}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;color:#777}.modal h2{margin:0 0 8px}.modal p{color:var(--muted);font-size:13px;line-height:1.65}.field{margin-top:13px}.field label{display:block;font-size:12px;color:#625b51;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:#faf9f7;font:inherit}.field textarea{min-height:74px}.wide{width:100%;margin-top:16px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.role{border:1px solid var(--line);background:#faf9f7;border-radius:12px;padding:14px;text-align:left}.role.active{border-color:var(--gold);background:#fff9eb}.role strong{display:block}.role small{color:var(--muted)}.qr-wrap{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center}.qr{width:132px;height:132px;background:white;border:8px solid white;display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(11,1fr);box-shadow:0 3px 14px #0002}.qr i{background:#111}.audit{border-left:2px solid var(--gold);padding-left:15px;margin-left:7px}.audit-row{position:relative;padding:0 0 17px 5px}.audit-row:before{content:"";position:absolute;width:9px;height:9px;background:var(--gold);border-radius:50%;left:-21px;top:4px}.audit-row strong{font-size:13px}.audit-row small{display:block;color:var(--muted);margin-top:4px}.agreement{background:#0d0c0b;color:#eee;border-radius:14px;padding:16px}.agreement b{color:var(--gold2)}.split{display:flex;gap:8px}.split button{flex:1}.toast{position:fixed;z-index:99;left:50%;bottom:90px;transform:translateX(-50%) translateY(30px);background:#161411;color:#fff;padding:11px 16px;border-radius:20px;font-size:12px;opacity:0;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
