:root{--ink:#19392f;--paper:#f5f5ee;--green:#215a44;--line:#d8ded3;--muted:#68776e;--red:#b33330;--soft:#edf3e5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Noto Sans CJK SC","Microsoft Yahei",sans-serif;font-size:1rem;line-height:1.55}header{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;background:#173c30;color:white}header a{color:#e0e7dd;font-size:.9rem}.brand b{font-size:1.55rem;letter-spacing:.1em}.brand span{font-size:1rem;font-weight:400;letter-spacing:.03em;margin-left:.9rem}.brand small{display:block;font-size:.8rem;opacity:.8}nav{display:flex;gap:1.5rem;padding:0 5%;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--muted)}nav span{padding:.9rem 0}.active{color:var(--green);border-bottom:3px solid var(--green);font-weight:600}main{max-width:1800px;margin:auto;padding:1.5rem 4%}.heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.eyebrow{letter-spacing:.2em;font-size:.7rem;color:var(--green);margin:0}h1{font-size:clamp(1.45rem,3vw,2rem);font-weight:600;letter-spacing:-.04em;margin:.4rem 0}.sub{font-size:.85rem;color:var(--muted);margin:.3rem 0}button,input,select{font:inherit;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:.35rem;padding:.45rem .7rem;color:var(--ink)}button{cursor:pointer}button:hover{background:var(--soft)}button:focus-visible,a:focus-visible{outline:3px solid #bf941e;outline-offset:2px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;padding:1rem;background:#e9eee3;border-radius:.5rem}.filters label{font-size:.75rem;display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:8rem}.filters button{background:var(--green);color:white;min-width:5rem}.filters span{font-size:.85rem}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.kpi{background:white;border:1px solid var(--line);padding:1.15rem .9rem;border-radius:.45rem;min-width:0}.kpi:first-child{background:var(--green);color:white;border-color:var(--green)}.kpi label{display:block;font-size:.85rem}.number{font-family:"SFMono-Regular",Consolas,monospace;font-size:clamp(1.25rem,2.2vw,2rem);font-weight:600;display:block;margin:.5rem 0;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi small{font-size:.75rem;opacity:.8;display:block}.sources{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 1.5rem}.badge{font-size:.75rem;border:1px solid var(--line);background:#fff;border-radius:2rem;padding:.3rem .65rem;min-height:36px}.badge.missing{color:#756743;background:#f3eddb}.panel{background:#fff;border:1px solid var(--line);border-radius:.5rem;margin:1rem 0;padding:1rem;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}.panel-title h2{font-size:1rem;margin:.2rem 0}.panel-title span,h2 small,.table-help{font-size:.75rem;color:var(--muted);font-weight:400}.panel-title input{width:100%;max-width:22rem}.table-scroll{overflow:auto;max-height:70vh;border:1px solid var(--line);margin-top:.75rem}table{border-collapse:separate;border-spacing:0;font-size:.8rem;min-width:100%;font-variant-numeric:tabular-nums;font-family:"PingFang SC",Consolas,sans-serif}th,td{padding:.7rem .65rem;text-align:right;white-space:nowrap;border-bottom:1px solid #e9ede7}th{background:#edf2e9;position:sticky;top:0;z-index:2;font-weight:500;cursor:pointer}thead tr:first-child th{top:0;height:35px;background:#e0e9db;color:#445c4b}thead tr:nth-child(2) th{top:35px}td:first-child,th:first-child{position:sticky;left:0;text-align:left;z-index:3;background:#fff;min-width:9rem;border-right:1px solid var(--line)}th:first-child{z-index:4;background:#edf2e9}thead tr:first-child th:first-child{background:#e0e9db}tbody tr:hover td{background:#f4f7f0}.link-btn{border:0;background:none;padding:0;min-height:44px;font-family:Consolas,monospace;font-size:.8rem;color:#216b49;text-decoration:underline}.neg{color:var(--red)}.cell-btn{border:0;background:none;padding:0;min-height:44px;font-size:inherit;min-width:3rem;font-variant-numeric:tabular-nums}.estimate{background:#f1f4e9;border-radius:.15rem;padding:.1rem .25rem}.unknown{color:#8a918a}.partial{border-bottom:1px dashed #ad8e41}.total td{font-weight:600;background:#eaf0e5}.store td{background:#f8f8f2}#banner{font-size:.85rem;color:#795e23;padding-top:.8rem}.fulfillment{display:grid;grid-template-columns:1fr;gap:.6rem;padding-top:1rem}.fulfillment article{border-left:3px solid var(--line);padding:.5rem .8rem;background:#fafbf8}.fulfillment h3{font-size:.85rem;margin:0}.fulfillment small{font-size:.75rem;color:var(--muted)}summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-weight:600}footer{font-size:.75rem;color:var(--muted);padding:1rem 0}dialog{border:1px solid var(--line);border-radius:.6rem;width:calc(100% - 1rem);max-width:1050px;max-height:90vh;padding:1.4rem;color:var(--ink)}dialog::backdrop{background:#16392f88}.close{float:right;font-size:1.4rem;min-width:44px}dialog h2{font-size:1.2rem}dialog .table-scroll{max-height:40vh}svg{width:100%;height:auto;max-height:240px;display:block}.trend-empty{padding:2rem;color:var(--muted);text-align:center}#notes{font-size:.85rem}#notes p{overflow-wrap:anywhere}a{color:var(--green)}.revision{background:#f6efd8;border:1px solid #e2d5b2;font-size:.8rem}.notice{background:#f5f0df;padding:.7rem;border-radius:.3rem;font-size:.85rem}@media(min-width:768px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.filters label{flex:0 1 auto}.fulfillment{grid-template-columns:repeat(5,minmax(0,1fr))}.panel{padding:1.25rem}.kpi{padding:1.3rem}main{padding:2rem 4%}.panel-title input{width:22rem}}@media(prefers-reduced-motion:no-preference){.kpi{animation:reveal .3s ease-out both}@keyframes reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
.login{max-width:36rem;margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:2rem}.login h1{font-size:1.7rem}.login a{display:inline-block;background:var(--green);color:white;padding:.8rem 1.2rem;border-radius:.3rem;margin-top:1.2rem}
