:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#253b3c;background:#f5f8f7;font-synthesis:none;font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #dfe6e3;padding:16px max(20px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;color:#244f48;text-decoration:none;font-weight:650;white-space:nowrap}.brand svg{width:32px;height:32px;fill:none;stroke:#237669;stroke-width:1.8;stroke-linejoin:round}.preferences{display:flex;gap:8px}select,button,input{font:inherit}select,button{border:1px solid #ced9d5;background:white;color:inherit;border-radius:6px;min-height:42px;padding:8px 12px}button{cursor:pointer}a{color:#326b60}main{max-width:1280px;padding:24px 20px 40px;margin:auto}h1{font-size:26px;font-weight:650;margin:0 0 6px}h2{font-size:17px;font-weight:600;margin:0 0 18px}p{margin:0;line-height:1.65}.title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.title-row p{color:#637572;font-size:14px}.title-row a{font-size:14px;white-space:nowrap}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px}aside{padding:22px;background:#fff;border:1px solid #e0e7e4;border-radius:8px;align-self:start}.field{display:block;margin-bottom:17px}.field span{display:block;font-size:14px;margin-bottom:7px}.entry{position:relative}.entry input{width:100%;padding:11px 12px 25px;border:1px solid #cbd7d1;border-radius:5px;background:#fff;font-size:22px;font-weight:550;color:#263e39;min-height:66px}.entry small{position:absolute;bottom:7px;left:12px;color:#64776f;pointer-events:none;font-size:11px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #257d6b;outline-offset:3px}.form-actions{display:flex;gap:8px}.form-actions button:first-child{background:#284c43;color:white;border-color:#284c43}.muted,.footnote{color:#687871;font-size:12px;line-height:1.7}aside .muted{margin-top:15px}#saved{display:block;margin-top:10px;color:#237669}#error{color:#b53d30;font-size:13px;margin:10px 0}.metrics{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #dce5df;padding:8px 0 24px;gap:24px}.metrics span{font-size:14px;display:block}.metrics strong{font-size:32px;font-weight:600;display:block;margin:10px 0 5px;line-height:1.25;word-break:break-word}.metrics small{font-size:12px;color:#65776f}.positive{color:#237669}.negative{color:#b74231}.economics{display:flex;justify-content:space-between;gap:16px;margin:20px 0 28px}.economics span{display:block;font-size:12px;color:#65776f;margin-bottom:7px}.economics b{font-size:16px;font-weight:550}.chart-panel{background:white;border:1px solid #dfe7e2;border-radius:8px;padding:24px}.chart-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}.chart-heading h2{margin-bottom:5px}.chart-heading p{font-size:12px;color:#66796f}.chart-heading label{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}#chart{margin:16px 0 0;width:100%;height:260px}#chart svg{display:block;width:100%;height:100%;overflow:visible}#chart text{font-family:inherit;fill:#62716a;font-size:12px}.legend{display:flex;gap:22px;justify-content:center;font-size:12px}.legend span:before{content:'';display:inline-block;width:16px;height:3px;margin-right:7px;vertical-align:middle;background:#287567}.legend .gap-key:before{background:#c36b35}.day-control{display:flex;align-items:center;gap:18px;font-size:13px;margin:24px 0 18px}.day-control b{white-space:nowrap;min-width:60px}.day-control input{width:100%;accent-color:#287567;min-height:32px}.daily{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 14px;padding:18px 0;border-top:1px solid #e5eae6}.daily span{display:block;font-size:12px;color:#64776e;margin-bottom:7px}.daily b{font-size:16px;font-weight:550}.chart-panel>.muted{margin-top:6px}details{margin-top:20px;border-top:1px solid #dce5df;padding-top:18px}summary{cursor:pointer;font-size:14px}.table-wrap{overflow:auto;max-height:400px;margin-top:15px}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th,td{text-align:right;padding:12px;border-bottom:1px solid #dfe6e2}th{font-weight:500;color:#65776d;background:#f5f8f7;position:sticky;top:0}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:#f5f8f7}th:first-child{z-index:2}.footnote{margin-top:20px}.results{min-width:0}
@media(max-width:900px){.workspace{grid-template-columns:230px minmax(0,1fr);gap:20px}.metrics strong{font-size:25px}.chart-panel{padding:18px}.economics{flex-wrap:wrap}}
@media(max-width:640px){header{padding:12px 16px;flex-wrap:wrap;gap:10px}.brand{font-size:15px}.brand svg{width:25px;height:25px}.preferences{margin-left:auto;gap:6px}.preferences select{padding:6px;min-height:44px;font-size:12px}main{padding:20px 16px}.title-row{align-items:start;margin-bottom:18px}h1{font-size:21px}.title-row p{font-size:12px}.workspace{display:flex;flex-direction:column;gap:20px}aside{width:100%;padding:16px}#fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin:0}.field:last-child{grid-column:1/-1}.entry input{font-size:19px;min-height:60px}.field span{font-size:12px}.form-actions{margin-top:16px}.metrics{gap:16px;padding-top:0}.metrics strong{font-size:24px}.metrics span{font-size:12px}.economics{gap:14px;margin:18px 0}.economics b{font-size:14px}.chart-panel{padding:16px}.chart-heading label span{display:none}#chart{height:210px}.daily{grid-template-columns:1fr 1fr}.daily b{font-size:15px}.chart-heading h2{font-size:16px}.metrics strong{font-size:clamp(20px,6vw,26px)}}

.field select{width:100%;min-height:60px}.field:has(#frequency){grid-column:auto}@media(max-width:640px){.field:has(#receivable){grid-column:auto}}

.partner-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-bottom:1px solid #dce5df;padding:20px 0}.partner-summary span{display:block;font-size:12px;color:#63756e;margin-bottom:8px}.partner-summary strong{font-size:17px;font-weight:600;line-height:1.35}.partner-summary div{min-width:0}.partner-summary div:nth-child(2) strong{color:#b56a35}@media(max-width:640px){.partner-summary{grid-template-columns:1fr 1fr;gap:14px}.partner-summary div:first-child{grid-column:1/-1}.partner-summary strong{font-size:16px}}
