:root{color-scheme:light;--ink:#202825;--muted:#66726d;--line:#dce3df;--paper:#f5f7f5;--white:#fff;--green:#176b4d;--green-dark:#11543c;--red:#a33d32;--amber:#a45e0a;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}.shell{width:min(960px,100%);margin:0 auto;padding:24px 28px 64px}.topbar,.brand,.app-head,.batch-summary,.section-head,.actions,.carton-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{height:68px;border-bottom:1px solid var(--line)}.brand{justify-content:flex-start}.mark{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:white;border-radius:7px;font-weight:750}.brand small,.eyebrow{display:block;margin:0 0 5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em}.brand h1{font-size:18px;margin:0}.quiet,.secondary,.primary{min-height:40px;padding:0 14px;border-radius:5px;font:inherit;font-weight:650;cursor:pointer}.quiet{background:transparent;border:1px solid var(--line);color:var(--ink)}.secondary{background:#fff;border:1px solid #bfcac4;color:var(--ink)}.primary{background:var(--green);border:1px solid var(--green);color:#fff}.primary:hover{background:var(--green-dark)}button:disabled{opacity:.5;cursor:not-allowed}.login-view{max-width:440px;margin:64px auto 0;padding:0}.login-title{margin-bottom:24px}.login-title h2,.app-head h2{margin:0 0 8px;font-size:24px}.login-title>p:last-child{color:var(--muted);margin:0}.login-form{display:grid;gap:16px}.login-form label,.note-label{display:grid;gap:7px;font-weight:650}.login-form input,.note-label textarea,.carton-line select,.carton-line input{width:100%;border:1px solid #cbd5cf;border-radius:4px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px}.login-form .primary{width:100%}.message{min-height:20px;margin:0;color:var(--red)}.app-head{margin:32px 0 18px}.app-head h2{font-size:21px}.batch-list{display:grid;gap:8px}.batch-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);background:var(--white);border-radius:5px;cursor:pointer;text-align:left;color:inherit}.batch-item:hover{border-color:#97afa3}.batch-item strong{display:block;font-size:15px;margin-bottom:5px}.batch-item small{color:var(--muted)}.state{padding:5px 8px;border-radius:4px;background:#edf1ee;color:#4c5b53;font-size:12px;white-space:nowrap}.state.submitted{color:var(--green);background:#e6f3ed}.state.draft{color:var(--amber);background:#fbf1df}.batch-summary{padding:18px 0;border-bottom:1px solid var(--line)}.batch-summary h3{font-size:19px;margin:0}.totals{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:17px 0}.totals>div{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:6px}.totals>div+div{border-left:1px solid var(--line);padding-left:18px}.totals small{grid-column:1/-1;color:var(--muted)}.totals strong{font-size:22px;font-variant-numeric:tabular-nums}.totals span{color:var(--muted)}.plan-section,.packing-section{padding:22px 0;border-bottom:1px solid var(--line)}h4{font-size:15px;margin:0 0 12px}.plan-rows{display:grid;gap:0}.plan-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px 90px;gap:8px;padding:10px 0;border-top:1px solid #e7ece9;align-items:center}.plan-row:first-child{border-top:0}.plan-row small{color:var(--muted)}.plan-row span{text-align:right;font-variant-numeric:tabular-nums}.section-head{align-items:flex-end;margin-bottom:14px}.section-head h4{margin:0 0 4px}.section-head p{margin:0;color:var(--muted);font-size:13px}.cartons{display:grid;gap:10px}.carton{background:#fff;border:1px solid var(--line);border-radius:5px;padding:14px}.carton-head{padding-bottom:10px}.carton-head strong{font-size:14px}.carton-lines{display:grid;gap:8px}.carton-line{display:grid;grid-template-columns:minmax(0,1fr) 150px 38px;gap:8px;align-items:center}.carton-line input{font-variant-numeric:tabular-nums}.remove{height:38px;border:1px solid var(--line);border-radius:4px;background:white;font-size:18px;cursor:pointer}.add-line{margin-top:10px;border:0;background:transparent;color:var(--green);font:inherit;font-weight:650;cursor:pointer;padding:4px 0}.remove-carton{border:0;background:transparent;color:var(--red);cursor:pointer;font:inherit}.note-label{padding-top:22px}.note-label textarea{resize:vertical;min-height:80px}.notice{padding:11px 13px;background:#eef4f0;color:#43574c;border-left:3px solid var(--green);margin:18px 0}.actions{justify-content:flex-end}.actions .primary{min-width:148px}.empty{padding:24px;border:1px dashed #cbd5cf;color:var(--muted);text-align:center;border-radius:5px}@media(max-width:620px){.shell{padding:12px 16px 40px}.topbar{height:58px}.login-view{margin-top:42px}.app-head{margin-top:24px}.totals>div{grid-template-columns:1fr auto}.totals small{grid-column:1/-1}.totals strong{font-size:19px}.totals>div+div{padding-left:10px}.plan-row{grid-template-columns:minmax(0,1fr) 64px 64px;gap:5px}.plan-row span:last-child{display:none}.carton-line{grid-template-columns:minmax(0,1fr) 100px 34px;gap:6px}.carton-line select,.carton-line input{padding:10px 8px}.actions .primary{min-width:0;flex:1}}
