:root{--brand:#d9950f;--brand-light:#f7c95c;--brand-bg:#fff8ec;--green:#52a852;--text:#2b2620;--text-2:#8a8275;--line:#eee6d8;--card-bg:#fff;--danger:#d54941}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:var(--text);background:#f4f1ea;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;font-size:15px}#app{background:#f4f1ea;max-width:520px;min-height:100vh;margin:0 auto}.page{padding:16px}.navbar{z-index:10;background:var(--brand-bg);border-bottom:1px solid var(--line);align-items:center;gap:8px;height:48px;padding:0 12px;display:flex;position:sticky;top:0}.navbar .title{font-size:17px;font-weight:600}.navbar .back{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;font-size:20px}.navbar .spacer{flex:1}.card{background:var(--card-bg);border-radius:14px;margin-bottom:14px;padding:18px 16px;box-shadow:0 1px 4px #785a140f}.btn-primary{background:linear-gradient(135deg, var(--brand-light), var(--brand));color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;padding:14px;font-size:17px;font-weight:600;display:block;box-shadow:0 4px 12px #d9950f4d}.btn-primary:disabled{opacity:.55;box-shadow:none}.btn-ghost{border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px}.menu-item{border-bottom:1px solid var(--line);color:var(--text);background:#fff;justify-content:space-between;align-items:center;padding:16px;text-decoration:none;display:flex}.menu-item:first-child{border-radius:14px 14px 0 0}.menu-item:last-child{border-bottom:none;border-radius:0 0 14px 14px}.menu-group{border-radius:14px;margin-bottom:14px;overflow:hidden}.badge-soon{color:var(--brand);background:var(--brand-bg);border-radius:6px;margin-right:8px;padding:2px 7px;font-size:11px}.arrow{color:#c8c0b2}.cat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cat-card{text-align:center;border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;padding:16px 6px;font-size:15px}.cat-card.active{border-color:var(--brand);background:var(--brand-bg);color:var(--brand);font-weight:600}textarea.deed-input{border:1px solid var(--line);resize:none;background:#fff;border-radius:12px;outline:none;width:100%;min-height:140px;padding:12px;font-family:inherit;font-size:15px}textarea.deed-input:focus{border-color:var(--brand-light)}.field-label{margin:18px 0 10px;font-weight:600}.field-label .req{color:var(--danger);margin-right:3px}.counter{text-align:right;color:var(--text-2);margin-top:4px;font-size:12px}.error-text{color:var(--danger);margin-top:6px;font-size:13px}.deed-day{color:var(--text-2);margin:16px 4px 8px;font-size:13px}.deed-item{background:#fff;border-radius:12px;margin-bottom:8px;padding:13px 14px}.deed-item .top{color:var(--text-2);align-items:center;gap:8px;margin-bottom:5px;font-size:13px;display:flex}.tag-cat{color:#fff;background:var(--green);border-radius:6px;padding:1px 8px;font-size:12px}.tag-cat.customer{background:#e08a2e}.tag-cat.owner{background:#3e8fb0}.tag-cat.other{background:var(--green)}.deed-item .content{word-break:break-all;line-height:1.55}.empty{text-align:center;color:var(--text-2);padding:70px 20px}.empty .btn-primary{width:60%;margin:18px auto 0}.tabs{gap:8px;padding:12px 0 4px;display:flex;overflow-x:auto}.tab{border:1px solid var(--line);color:var(--text-2);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px}.tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.toast{color:#fff;z-index:100;text-align:center;background:#282014eb;border-radius:10px;max-width:80%;padding:11px 20px;font-size:14px;position:fixed;bottom:18%;left:50%;transform:translate(-50%)}.mask{z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{text-align:center;background:#fff;border-radius:16px;width:78%;max-width:320px;padding:28px 22px 20px}.modal .big{font-size:44px}.modal h3{margin:10px 0 8px}.modal p{color:var(--text-2);margin:0 0 20px}.placeholder{text-align:center;padding:110px 30px}.placeholder .icon{font-size:56px}.placeholder h2{margin:18px 0 10px}.placeholder p{color:var(--text-2);line-height:1.7}.bean-card{background:linear-gradient(140deg,#fff4d8,#ffe3a1);border-radius:18px;margin-bottom:16px;padding:24px 22px;box-shadow:0 3px 10px #be8c1e2e}.bean-card .label{color:#8a6a25;font-size:14px}.bean-card .num{color:#7a5410;font-size:46px;font-weight:700;line-height:1.15}.bean-card .num small{font-size:16px;font-weight:400}.bean-card .sub{color:#8a6a25;margin-top:6px;font-size:13px}.progress{background:#966e1e2e;border-radius:4px;height:8px;margin-top:14px;overflow:hidden}.progress i{background:var(--brand);border-radius:4px;height:100%;display:block}.filters{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.filters .grow{flex:1;min-width:120px}
