:root{--ink:#17211c;--muted:#6e776f;--line:#e7ebe7;--paper:#fff;--canvas:#f7f8f4;--green:#16734e;--green-soft:#e8f5ed;--orange:#d97014;--blue:#2b71b7}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{width:232px;padding:26px 16px;background:#173c2c;color:#dce9df;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 36px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;background:#d5f06d;color:#16402e;border-radius:10px;font-weight:800;font-size:18px}.brand strong{display:block;color:white}.brand small{color:#98b5a2;font-size:12px}.sidebar nav{display:grid;grid-gap:6px;gap:6px}.sidebar nav button{border:0;background:transparent;color:#bdd0c3;text-align:left;padding:12px 13px;border-radius:9px;font-size:14px;cursor:pointer}.sidebar nav button.active,.sidebar nav button:hover{color:white;background:#286047}.sidebar-bottom{margin-top:auto;border-top:1px solid #2d604a;padding:18px 10px;font-size:12px;line-height:1.8;color:#b5c9bd}.dot,.live-dot{display:inline-block;width:7px;height:7px;background:#70da9b;border-radius:50%;margin-right:6px}.content{flex:1 1;max-width:1500px;padding:38px 48px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:13px}h1{font-size:28px;margin:0;letter-spacing:-.5px}h2{font-size:16px;margin:0 0 5px}.primary{border:0;border-radius:9px;background:var(--green);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer}.primary:hover{background:#0e5e3d}.notice{margin:-8px 0 22px;padding:11px 14px;background:#edf6ef;border:1px solid #cde7d4;color:#276342;border-radius:9px;font-size:13px;display:flex;justify-content:space-between}.notice button{border:0;background:transparent;font-size:18px;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:18px}.metric,.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 12px #1b2d1f08}.metric{padding:19px}.metric p,.metric small,.panel-title p{margin:0;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:24px;margin:13px 0 8px}.metric.orange strong{color:var(--orange)}.metric.blue strong{color:var(--blue)}.grid-two{display:grid;grid-template-columns:1.45fr 1fr;grid-gap:18px;gap:18px}.panel{padding:20px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.link{border:0;background:none;color:var(--green);cursor:pointer;padding:4px}.link,.total{font-weight:700}.total{font-size:14px;color:var(--orange)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;padding:0 9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 9px;border-bottom:1px solid #f0f2ef;vertical-align:top}td small,td strong{display:block}td small{color:var(--muted);font-size:11px;margin-top:3px}.badge{display:inline-block;padding:4px 7px;border-radius:99px;font-size:11px;background:#fff0dd;color:#a6530c}.badge.待核对{background:#edf4ff;color:#2d69a9}.badge.部分支付{background:#fff3e4;color:#b65f0d}.badge.待收-预付{background:#f1ecff;color:#6e52ae}.accounts{display:grid;grid-gap:4px;gap:4px}.account{display:flex;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid #f0f2ef}.account:last-child{border:0}.account-icon,.shared-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e8f5ed;color:var(--green)}.shared-icon{background:#edf4ff;color:var(--blue)}.account small,.account strong{display:block;font-size:13px}.account small{color:var(--muted);font-size:11px;margin-top:2px}.account .dot{margin-left:auto}.form-panel{margin-bottom:18px}.form-panel>p{color:var(--muted);font-size:13px;margin:0 0 17px}.entry-form{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px}.entry-form label{font-size:12px;color:#4f5b52;display:grid;grid-gap:6px;gap:6px}.entry-form input,.entry-form select,.project-search input,.search{width:100%;border:1px solid #dfe5df;border-radius:7px;background:#fff;padding:9px;font:inherit;color:var(--ink)}.entry-form .wide{grid-column:span 2}.entry-form .check{display:flex;align-items:center;gap:7px;padding-top:20px}.entry-form .check input{width:auto}.submit{align-self:end}.search{width:215px;font-size:12px}.income{color:var(--green)}.expense{color:#bd5d26}.project-search{display:flex;gap:10px}.empty{margin-top:28px;padding:50px;text-align:center;border:1px dashed #d7dfd7;border-radius:10px;color:var(--muted);font-size:13px}@media(max-width:980px){.sidebar{width:185px}.content{padding:28px}.cards{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}}@media(max-width:680px){.shell{display:block}.sidebar{width:100%;min-height:auto;padding:16px}.brand{padding:0 5px 12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.sidebar-bottom{display:none}.content{padding:22px 14px}header{align-items:flex-start;gap:12px}.cards,.entry-form,.grid-two{grid-template-columns:1fr}.entry-form .wide{grid-column:auto}.project-search{display:grid}.search{width:150px}}