*{box-sizing:border-box}body{margin:0;background:#f2f6f2;color:#1c2d24;font-family:system-ui,-apple-system,sans-serif}header{background:#173b2e;color:#fff;padding:26px 20px 22px;border-radius:0 0 26px 26px}header small{color:#c1d7c9;letter-spacing:1.5px}header h1{margin:7px 0;font-size:30px}header p{margin:0;color:#d2e1d7;font-size:13px}main{max-width:760px;margin:auto;padding:14px}.hero{background:#28533f;color:#fff;border-radius:20px;padding:20px;margin-bottom:12px}.hero strong{display:block;font-size:36px;margin-top:7px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metrics article,.panel{background:#fff;border:1px solid #e1e9e2;border-radius:18px;padding:16px;margin-bottom:12px}.metrics small,.summary-grid small{display:block;color:#718078;font-size:12px}.metrics b{display:block;font-size:20px;margin-top:7px;overflow-wrap:anywhere}.quick h2{margin:0 0 14px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}button{border:0;border-radius:12px;padding:12px;background:#e8f1e9;color:#17402e;font-weight:700;font-size:14px;cursor:pointer}button.active{background:#1c5a3d;color:#fff}nav{display:flex;overflow-x:auto;gap:6px;background:#fff;padding:8px;border-radius:14px;margin:12px 0;scrollbar-width:thin}nav button{white-space:nowrap;font-size:12px;padding:10px}nav span{opacity:.7}#view{min-height:170px}h2{font-size:21px;margin:2px 0 14px}h3{font-size:16px;margin:18px 0 10px}.item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1ed}.item span:first-child{min-width:0}.item small{display:block;color:#78867d;font-size:12px;margin-top:3px}.green{color:#16804f}.red{color:#b44b3d}.muted{color:#77847b;font-size:13px;line-height:1.5}.section-head,.supplier-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head h2{margin:0}.section-head button{white-space:nowrap}.supplier-card{border:1px solid #e3ebe4;border-radius:15px;padding:14px;margin:12px 0}.supplier-top h3{margin:0 0 4px}.supplier-top>b{font-size:18px;white-space:nowrap}.supplier-stats{display:flex;justify-content:space-between;gap:8px;color:#758178;font-size:11px;margin:12px 0}.supplier-card .actions{grid-template-columns:1fr 1fr}.supplier-card .actions button{font-size:12px;padding:10px}.subtle,.mini{background:#f1f4f1;color:#40564a}.supplier-card .subtle{grid-column:1/-1}.right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.mini{padding:7px 9px;font-size:11px}.plan-highlight{background:#1e5039;color:#fff;border-radius:15px;padding:17px;margin:12px 0}.plan-highlight small{display:block;color:#d0e0d5;font-size:12px}.plan-highlight strong{display:block;font-size:27px;margin:5px 0}.plan-grid,.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.plan-grid>div,.summary-grid>div{background:#f4f7f4;border-radius:12px;padding:12px}.plan-grid small{display:block;color:#77847b;font-size:11px}.plan-grid b{display:block;margin-top:6px;font-size:16px}.allocation{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1ed}.allocation small{display:block;color:#77847b;font-size:11px;margin-top:3px}.allocation strong{font-size:14px;white-space:nowrap}.hint{background:#f0f5f0;border-radius:12px;padding:12px;color:#607267;font-size:12px;line-height:1.5;margin-top:14px}.warning{font-style:normal;color:#a55b16;font-size:11px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#10251dcc;display:flex;align-items:flex-end;z-index:5;padding:0}.hidden{display:none!important}.sheet{background:#f7faf7;width:100%;max-width:760px;margin:auto;padding:22px;border-radius:22px 22px 0 0;max-height:90vh;overflow:auto}.sheet label{display:block;font-size:13px;font-weight:650;margin:12px 0}.sheet input,.sheet select{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #dce5de;border-radius:10px;background:#fff;font:inherit;color:#1c2d24}.save{width:100%;background:#1d6847;color:#fff;margin-top:12px}.close{float:right;background:#e8eee9}.debt-item{align-items:flex-start}footer{text-align:center;color:#839087;font-size:11px;padding:18px}@media(min-width:620px){.metrics{grid-template-columns:repeat(4,1fr)}.modal{align-items:center;padding:15px}.sheet{border-radius:22px}.supplier-card .actions{grid-template-columns:1fr 1fr 1fr}.supplier-card .subtle{grid-column:auto}}button{min-height:44px;min-width:44px}button svg{width:18px;height:18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sheet input,.sheet select{font-size:16px;min-height:48px}.modal[aria-hidden=true]{display:none!important}.sheet{padding-bottom:calc(22px + env(safe-area-inset-bottom))}nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}main{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.item .mini{min-height:44px;min-width:44px;font-size:12px}.danger{background:#fbe9e7;color:#8e251b}.cloud-status{font-size:12px;color:#40564a;padding:7px 2px}.empty-state{padding:16px 0;color:#68786e;line-height:1.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #397d5b;outline-offset:2px}@media(max-width:420px){main{padding:10px}.hero strong{font-size:30px}.item{align-items:flex-start}.right{max-width:48%}.supplier-stats{flex-wrap:wrap}.allocation{grid-template-columns:minmax(0,1fr) auto}.allocation button{grid-column:2}.section-head{align-items:flex-start;flex-wrap:wrap}}button svg{display:inline-block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;overflow:visible;fill:none!important;stroke:currentColor!important;stroke-width:2!important}nav{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}nav button{flex:0 0 auto;width:max-content;min-width:max-content;white-space:nowrap;word-break:keep-all;overflow:visible;padding:12px 16px;font-size:14px;line-height:1.25;scroll-snap-align:start}nav button span{margin-left:4px}@media(max-width:420px){nav{gap:7px}nav button{padding:12px 14px;font-size:13px}}
