:root{font-family:Arial,"PingFang SC",sans-serif;color:#173547;background:#f2f5f8;font-size:16px;--navy:#123c52;--blue:#126fb4;--muted:#667c8b}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #d7e1e8;padding:18px 4%;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;color:var(--navy);display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.3rem}.brand small{display:block;font-size:.75rem;letter-spacing:.14em;margin-top:3px}.mark{background:var(--navy);color:white;display:grid;place-items:center;width:46px;height:46px;border-radius:10px}.head-actions,.toolbar,.buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #c7d6e0;border-radius:7px;padding:10px 16px;background:white;color:var(--navy);min-height:42px}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:#a62635}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #b6c9d7;padding:11px;border-radius:6px;background:white;color:#173547;width:100%;min-height:44px}input:focus,select:focus,button:focus-visible{outline:3px solid #9ed3ef;outline-offset:2px}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:15px}label input,label select,label textarea{display:block;margin-top:7px;font-weight:400}main{max-width:1400px;margin:0 auto;padding:28px 4%}h1{font-size:1.8rem;margin:0 0 8px}h2{font-size:1.2rem;margin:0 0 16px}p{line-height:1.6}.muted{color:var(--muted);font-size:.9rem}.topline{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.tabs{display:flex;gap:5px;border-bottom:1px solid #cedbe4;margin-bottom:24px;flex-wrap:wrap}.tabs button{border:0;background:none;border-radius:0;color:#5a7183;padding:12px 18px}.tabs button.active{color:var(--blue);border-bottom:3px solid var(--blue);font-weight:700}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.card{background:white;border:1px solid #dce5eb;border-radius:10px;padding:20px}.card.total{background:var(--navy);color:white}.card span{display:block;font-size:.9rem;margin-bottom:10px}.card strong{font-size:1.8rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.panel{background:white;border:1px solid #dce5eb;border-radius:10px;padding:22px;margin-bottom:20px}.toolbar{margin-bottom:18px}.toolbar input{max-width:420px;flex:1;min-width:160px}.toolbar select{width:auto;max-width:240px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;background:#edf3f7;color:#516b7c;font-weight:600;padding:13px;white-space:nowrap}td{padding:13px;border-bottom:1px solid #e6edf1;line-height:1.5}td.num{text-align:right;font-variant-numeric:tabular-nums}.tag{display:inline-block;border-radius:5px;background:#e6f2f7;color:#17608c;padding:4px 8px;font-size:.8rem;white-space:nowrap}.tag.warn{background:#fff0d4;color:#825000}.tag.void{background:#f6e4e7;color:#973243}.login{max-width:430px;margin:50px auto}.login .primary{width:100%}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}dialog{border:0;border-radius:14px;padding:28px;width:min(900px,94vw);max-height:90vh;box-shadow:0 24px 80px #123c5250}dialog::backdrop{background:#112b4299}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head h2{margin:0}.line-editor{background:#f1f5f8;padding:15px;margin:12px 0;border-radius:8px;display:grid;grid-template-columns:minmax(160px,3fr) minmax(70px,1fr) auto;gap:10px;align-items:end}.line-editor label{margin:0}.line-editor .pricing{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:12px}.error{color:#a42731;padding:8px 0}.detail-line{padding:14px 0;border-bottom:1px solid #dce5eb;display:flex;gap:14px;align-items:center;justify-content:space-between}.detail-line span{flex:1}#notice:empty{display:none}#notice{position:sticky;top:0;z-index:20;padding:12px 4%;background:#e4f1eb;border-bottom:1px solid #b7d7c8}#notice.error{background:#fff0ed}footer{padding:25px;text-align:center;color:#738a98;font-size:.8rem}a{color:#126fb4}details summary{cursor:pointer;padding:10px 0;font-weight:600}.empty{padding:32px;color:#6f8491;text-align:center}.pagination{display:flex;align-items:center;gap:15px;margin-top:18px}.narrow{max-width:700px}.receive-line{display:grid;grid-template-columns:1fr 110px;gap:12px;align-items:center;margin:14px 0}.stat-row{display:flex;gap:24px;flex-wrap:wrap;margin:18px 0}.stat-row strong{font-size:1.3rem}.stat-row p{margin:0}button.small{padding:6px 10px;font-size:.85rem;min-height:34px}@media(max-width:800px){header{padding:14px 5%}#identity{display:none}main{padding:20px 4%}.topline{align-items:flex-start;flex-direction:column;gap:12px}.cards{grid-template-columns:repeat(2,1fr);gap:10px}.cards .total{grid-column:1/-1}.card{padding:16px}.panel{padding:14px}.tabs button{padding:10px;font-size:.9rem}.grid2{grid-template-columns:1fr;gap:0}dialog{padding:18px}.line-editor{grid-template-columns:minmax(140px,3fr) minmax(60px,1fr);padding:10px}.line-editor>button{grid-column:2}.line-editor .pricing{grid-template-columns:1fr}.detail-line{align-items:flex-start;flex-wrap:wrap}th,td{padding:11px 9px}.head-actions button{padding:8px 10px}h1{font-size:1.6rem}}
.entry-modes{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.photo-panel{padding:16px;border:1px solid #d8e1de;background:#f4f8f6;border-radius:12px;margin-bottom:20px}.photo-pick{flex:1;min-width:150px}.photo-pick input{width:100%;margin-top:8px}.photo-preview{display:block;max-width:100%;max-height:440px;object-fit:contain;margin:12px auto}.photo-review{display:flex;align-items:flex-start;gap:10px;padding:16px;background:#fff7df;border-radius:10px;margin:16px 0}.photo-review input{width:20px;min-width:20px;margin-top:3px}.ocr-row-hint{grid-column:1/-1;white-space:pre-wrap;color:#72531a;margin:0}#photo-findings{white-space:pre-wrap;color:#855e12} [hidden]{display:none!important}

.stock-filters{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:12px;align-items:end;margin:16px 0}.stock-filters label{margin:0;min-width:0}.stock-filters select{width:100%}@media(max-width:700px){.stock-filters{grid-template-columns:1fr 1fr}.stock-filters label:nth-child(2){grid-column:1/-1;grid-row:2}.stock-filters button{min-height:44px}}

.shipment-columns{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 18px;align-items:flex-start}.shipment-card{flex:0 0 min(540px,90vw);max-width:100%;border:1px solid #d7e2e8;border-radius:12px;padding:18px;background:#fff;box-sizing:border-box}.shipment-card h3{overflow-wrap:anywhere;margin-top:0}.shipment-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shipment-dates dt{font-size:12px;color:#62798a}.shipment-dates dd{margin:6px 0;font-weight:600}.shipment-lines{max-height:480px;overflow:auto;margin-top:16px}.shipment-lines th{position:sticky;top:0;background:#edf4f7;z-index:1}.shipment-month{margin-top:24px}.shipment-lines td{font-size:13px;padding:10px}.shipment-lines th{font-size:12px;padding:10px}

.receipt-mismatch{color:#b40000!important;background:#ffe5e5!important;font-weight:700}#receipt-check table input{min-width:90px}#receipt-check .receipt-sku{min-width:240px}#receipt-check td{vertical-align:top}#receipt-check small{display:block}
.forecast-model{margin:24px 0;border:1px solid #d7e2e8;border-radius:9px;overflow:hidden}.forecast-model h4{margin:0;padding:14px 16px;background:#f2f6f9;display:flex;gap:20px;flex-wrap:wrap;align-items:center}.forecast-model h4 span{font-weight:400}.forecast-matrix-scroll{overflow:auto;max-height:580px}.forecast-matrix{width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.forecast-code-col{width:130px}.forecast-spec-col{width:200px}.forecast-total-col{width:80px}.forecast-shipment-col{width:170px}.forecast-matrix th,.forecast-matrix td{padding:10px 12px;border-right:1px solid #e3ebf0;white-space:normal;overflow-wrap:anywhere;min-width:0}.forecast-matrix th{position:sticky;top:0;z-index:3;vertical-align:top}.forecast-matrix .num{text-align:right;font-variant-numeric:tabular-nums}.forecast-matrix .forecast-code{position:sticky;left:0;width:130px;min-width:130px;max-width:130px;background:white;z-index:2}.forecast-matrix .forecast-spec{position:sticky;left:130px;width:200px;min-width:200px;max-width:200px;background:white;z-index:2}.forecast-matrix .forecast-total{position:sticky;left:330px;width:80px;min-width:80px;max-width:80px;background:#eef5f9;z-index:2;border-right:2px solid #bfd0dc}.forecast-matrix th.forecast-code,.forecast-matrix th.forecast-spec,.forecast-matrix th.forecast-total{z-index:4;background:#e8f0f5}.forecast-departure{width:170px;min-width:170px;max-width:170px}.forecast-matrix small{display:block;font-size:.75rem;font-weight:400;color:#607888;margin-top:4px;line-height:1.4}.forecast-departure details summary{padding:5px 0 0;font-size:.75rem;font-weight:400}.forecast-matrix tbody tr:nth-child(even) td{background:#f6f9fb}.forecast-matrix tbody tr:hover td{background:#edf6fc}.forecast-cell{font-size:1rem}.forecast-matrix td{height:58px}@media(max-width:700px){.forecast-matrix .forecast-spec,.forecast-matrix .forecast-total{position:static}.forecast-code-col,.forecast-matrix .forecast-code{width:105px;min-width:105px;max-width:105px}.forecast-model h4{padding:12px;gap:8px}.forecast-matrix th,.forecast-matrix td{padding:9px}}

.stock-series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.stock-series-card{min-width:0;border:1px solid #d7e2e8;border-radius:10px;overflow:hidden}.stock-series-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#f5f8fa;border-bottom:1px solid #d7e2e8}.stock-series-heading h3{margin:0;font-size:1.05rem}.stock-series-scroll{max-height:500px;overflow:auto;scrollbar-gutter:stable}.stock-compact{table-layout:fixed}.stock-qty-col{width:90px}.stock-compact th{position:sticky;top:0;z-index:1}.stock-compact th.num{text-align:right}.stock-compact td,.stock-compact th{padding:10px 14px}.stock-compact td{overflow-wrap:anywhere}.stock-compact tbody tr:nth-child(even){background:#f8fafc}.stock-compact tbody tr:hover{background:#edf6fc}.stock-model{display:block;font-weight:600}.stock-spec{display:block;color:#526c7e;font-size:.85rem;margin-top:3px}.stock-compact td.num{vertical-align:middle;font-size:1.1rem}.stock-compact td.num small{display:block;font-size:.75rem;font-weight:400;color:#667c8b}.stock-series-card:only-child{width:100%;max-width:650px;grid-column:1/-1}@media(max-width:850px){.stock-series-grid{grid-template-columns:1fr}.stock-series-card:only-child{max-width:none}.stock-series-scroll{max-height:440px}.stock-qty-col{width:78px}.stock-compact td,.stock-compact th{padding:10px}}

.shipment-tabs{flex-wrap:nowrap}.shipment-tabs button{flex:1;max-width:340px;padding:12px 10px}.shipment-tabs+[hidden],[role="tabpanel"][hidden]{display:none}

.shipment-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.shipment-heading .shipment-tabs{margin:0;border-bottom:0;gap:24px;flex:1}.shipment-heading .shipment-tabs button{flex:none;max-width:none;font-size:1.2rem;font-weight:700;padding:0 0 12px;min-height:42px;text-align:left}.shipment-heading .shipment-tabs button.active{border-bottom:3px solid var(--blue)}#shipment-intro{margin:0 0 24px}.shipment-heading [hidden]{display:none}@media(max-width:600px){.shipment-heading .shipment-tabs{gap:16px}.shipment-heading .shipment-tabs button{font-size:1rem;flex:1}}

.system-clocks{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px;font-variant-numeric:tabular-nums}.system-clocks span{white-space:nowrap}.stock-heading{margin-bottom:22px}.stock-heading h2{font-size:1.4rem;margin-bottom:6px}.stock-heading p{margin:0}

.stock-compact th,.stock-compact td,.stock-compact th.num,.stock-compact td.num{text-align:left;vertical-align:middle}

.stock-model-col{width:30%}.stock-compact th,.stock-compact td{padding:8px 10px;line-height:1.35}.stock-compact .stock-spec{margin-top:0}.stock-compact td.num{font-size:1rem}.stock-qty-col{width:64px}@media(max-width:600px){.stock-compact th,.stock-compact td{padding:7px 6px}.stock-qty-col{width:52px}.stock-model-col{width:29%}.stock-compact{font-size:.82rem}.stock-compact .stock-spec{font-size:.8rem}}
