:root{--bg:#edf2f5;--panel:#f9fbfc;--top:#17394b;--side:#20475d;--ink:#213746;--muted:#667b87;--line:#d5e0e6;--primary:#287f7c;--primary2:#226e6b;--rust:#b6543c;--white:#fff;--shadow:0 7px 22px rgba(31,59,73,.07)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:14px/1.5 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}.app-shell{min-height:100vh}.topbar{height:58px;background:var(--top);color:#eef6f8;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:5}.brand,.top-actions{display:flex;align-items:center;gap:11px}.brand-icon{width:30px;height:30px;border:1px solid #6790a3;border-radius:7px;display:grid;place-items:center;font-size:17px}.brand strong{font-size:16px}.badge{display:inline-flex;width:max-content;padding:3px 9px;border-radius:999px;background:#deebef;color:#315564;font-size:12px}.topbar .badge{background:#2a5063;color:#dce9ee}.local-status{color:#adc1cb;font-size:12px}.local-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58b79c;margin-right:6px}.app-body{display:flex;min-height:calc(100vh - 58px)}.sidebar{width:172px;background:var(--side);padding:14px 10px;flex:none}.sidebar nav{display:grid;gap:5px;position:sticky;top:72px}.nav{border:0;background:transparent;color:#c5d5dc;padding:11px 13px;border-radius:7px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer;font:inherit}.nav:hover,.nav.active{background:#315c72;color:#fff}.nav.active{box-shadow:inset 3px 0 #62aaa7}.nav span{width:18px;text-align:center}.content{flex:1;padding:24px;min-width:0}.page{display:none}.page.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.page-head h1{font-size:22px;margin:0 0 3px}.page-head p{margin:0;color:var(--muted)}h2{font-size:16px;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 13px;border:1px solid #bdccd4;border-radius:7px;background:#f8fbfc;color:#254454;font:inherit;cursor:pointer}.button:hover{background:#e8f0f3}.button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary2)}.button.ghost{border-color:transparent;background:transparent}.topbar .button{color:#dce9ee}.button.block{width:100%;margin-top:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.stats article,.card,.form-card{border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.stats article{display:flex;flex-direction:column;gap:5px;padding:17px}.stats span,.stats small,.muted{color:var(--muted)}.stats strong{font-size:23px;font-weight:500}.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.bars{padding:16px 18px}.bar-row{display:grid;grid-template-columns:70px 1fr 95px;align-items:center;gap:12px;margin-bottom:15px}.track{height:9px;background:#dbe5e9;border-radius:9px;overflow:hidden}.track i{height:100%;display:block;background:linear-gradient(90deg,#287f7c,#55a7a3);border-radius:9px}.bar-row strong{text-align:right;font-weight:500}.quick{padding:0 18px 18px;display:flex;gap:8px}.activity{list-style:none;margin:0;padding:4px 17px}.activity li{display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.activity li:last-child{border:0}.activity small,.activity time{display:block;color:var(--muted);font-size:12px}.dot{width:9px;height:9px;border-radius:50%;background:#5c9f9d}.dot.transfer{background:#7996a7}.dot.sale{background:#cf755b}.empty{text-align:center;color:var(--muted);padding:30px}.type-switch{display:flex;gap:8px;margin-bottom:14px}.form-card{padding:18px;margin-bottom:14px}.form-card h2{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}label{display:flex;flex-direction:column;gap:6px;color:#334e5c}input,select,textarea{width:100%;min-height:38px;padding:7px 10px;border:1px solid #bdccd4;border-radius:7px;background:#fff;color:var(--ink);font:inherit;outline:none}input:focus,select:focus{border-color:#5b9caa;box-shadow:0 0 0 3px #5b9caa20}.table-card{margin-bottom:14px}.entry-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;padding:17px}.entry-grid.three{grid-template-columns:2fr 1fr 1.3fr;align-items:end}.submitbar{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1px solid var(--line);border-radius:9px;background:#dfe8ed}.route{display:grid;grid-template-columns:1fr 100px 1fr;gap:15px;align-items:end;margin-bottom:18px}.route-arrow{text-align:center;font-size:25px;color:var(--primary)}.route-arrow small{display:block;font-size:11px}.info-note{padding:13px 15px;background:#deebef;color:#355966;border-radius:8px;margin-bottom:14px}.stock-hint{background:#e7eff2;color:#4f6874;border-radius:7px;padding:11px 13px;align-self:end;min-height:38px}.padded{padding:18px}.padded>.section-head{margin:-18px -18px 17px}.profit-panel{background:#e5eef0}.profit-panel dl,.cost-result dl{margin:14px 0}.profit-panel dl div,.cost-result dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #cbdadf}.profit-panel dd,.cost-result dd{margin:0;font-weight:500}.profit-panel .total{font-size:17px;color:var(--primary);border-top:2px solid #abc6ca}.controls{display:flex;align-items:end;gap:10px;margin-bottom:13px}.controls label{min-width:180px}.controls label:nth-child(2){min-width:280px}.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left}th{font-weight:500;color:#425e6d;background:#e8eff3}td.end,th.end{text-align:right;font-variant-numeric:tabular-nums}.table-footer{display:flex;justify-content:space-between;color:var(--muted);padding:10px 5px;font-size:12px}.cost-fields{display:grid;gap:11px;margin-top:15px}.cost-fields label{display:grid;grid-template-columns:1fr 140px;align-items:center}.price-result{background:#dcebec;color:#315f60;padding:17px;border-radius:8px;margin-top:14px}.price-result strong,.price-result small{display:block}.price-result strong{font-size:20px;margin:5px 0}.row-actions{white-space:nowrap}.row-actions button{border:0;background:none;color:var(--primary);cursor:pointer}.row-actions .delete{color:var(--rust)}dialog{width:min(620px,calc(100% - 30px));border:0;border-radius:10px;padding:0;color:var(--ink);box-shadow:0 25px 80px #17394b66}dialog::backdrop{background:#102c3b99}#product-form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.close{border:0;background:none;font-size:25px;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}#toast{position:fixed;right:22px;bottom:22px;background:#17394b;color:#fff;padding:12px 17px;border-radius:7px;transform:translateY(15px);opacity:0;transition:.2s;pointer-events:none;z-index:10}#toast.show{opacity:1;transform:none}#toast.error{background:var(--rust)}@media(max-width:900px){.two-col{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.entry-grid{grid-template-columns:1fr 1fr}.sidebar{width:62px}.nav{font-size:0;justify-content:center}.nav span{font-size:18px}.route{grid-template-columns:1fr 55px 1fr}}@media(max-width:600px){.content{padding:16px}.brand .badge,.local-status{display:none}.form-grid,.entry-grid{grid-template-columns:1fr}.page-head{gap:10px}.controls{align-items:stretch;flex-direction:column}.controls label{width:100%!important}.submitbar{gap:10px}.route{grid-template-columns:1fr}.route-arrow{transform:rotate(90deg)}}
/* Receipt entry keeps quantities, sample allocation and costs visible together. */
.receipt-table { min-width: 850px; }
.receipt-table td { vertical-align: top; }
.receipt-table .receipt-amount { line-height: 38px; }
.receipt-table .receipt-remove { min-height: 38px; }
.receipt-table td:first-child { min-width: 270px; }
.receipt-table input { min-width: 95px; width: 120px; }
.receipt-table .receipt-cost { width: 150px; }
.receipt-table small { display: block; margin-top: 6px; max-width: 240px; color: #65787c; font-size: 12px; }
#receipt-result a { font-weight: 600; }

.product-picker{position:relative;min-width:0;width:100%}
.product-picker-input{padding-right:36px}
.receipt-table .product-picker-input{width:100%;min-width:0}
.product-picker-toggle{position:absolute;right:4px;top:3px;bottom:3px;width:29px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:20px}
.product-picker-list{position:fixed;z-index:30;overflow:auto;border:1px solid #bdccd4;border-radius:7px;background:#fff;box-shadow:0 8px 24px #17394b26;padding:4px}
.product-picker-option{padding:8px 10px;cursor:pointer;border-radius:4px;white-space:normal;color:var(--ink)}
.product-picker-option:hover,.product-picker-option.active{background:#deebef;color:#17394b}
.product-picker-empty{padding:12px;color:var(--muted)}

/* Shared ordinary / sample quantities on desktop and mobile-width layouts. */
.quantity-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quantity-pair[hidden]{display:none}.business-stock{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;background:#eaf5f0;border:1px solid #cee4d9;border-radius:12px;padding:16px}.business-stock>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.business-stock>div+div{border-left:1px solid #cee4d9;padding-left:16px}.business-stock span{width:100%;font-weight:600}.business-stock strong{font-size:28px;color:#2a6653}.business-stock .sample strong,.business-stock .sample span{color:#9c732b}.business-stock small{font-size:14px;font-weight:400}.stock-delta{font-size:19px;color:#b3493a}.allocation-message{width:100%;font-size:15px}.allocation-message.error{color:#b72d27;font-weight:700}.stock-hint:has(.business-stock){display:flex;flex-wrap:wrap;background:transparent;padding:0}.pending-filter{display:flex;align-items:center;gap:8px;margin:14px 0}.pending-filter input{width:18px;height:18px}.product-controls{flex-wrap:wrap}.sale-entry-grid .quantity-pair{grid-column:span 2}@media(max-width:650px){.sale-entry-grid .quantity-pair{grid-column:1/-1}.entry-grid.three{grid-template-columns:1fr}.business-stock{padding:12px}.business-stock strong{font-size:26px}}

.receipt-stock{margin-top:10px;min-width:310px}.receipt-stock[hidden]{display:none}.receipt-stock .business-stock{padding:12px;gap:10px}.receipt-stock .business-stock>div{gap:4px 8px}.receipt-stock .business-stock>div+div{padding-left:12px}.receipt-table .receipt-stock small{display:inline;margin:0;color:inherit;max-width:none;font-size:12px}.receipt-stock .business-stock>div>small{width:100%;margin-top:2px}.receipt-stock .business-stock strong{font-size:26px}.receipt-stock .stock-delta{color:#2a8060;font-size:18px}
.receipt-table .receipt-amount{min-width:88px;white-space:nowrap}.receipt-table .receipt-remove{white-space:nowrap}
