:root{--c-order:#fff3e0;--c-order-bd:#ffb74d;--c-delivery:#e8f5e9;--c-delivery-bd:#81c784;--c-carryover:#f3e5f5;--c-carryover-bd:#ce93d8;--c-cancel:#ffebee;--c-cancel-tx:#c62828;--c-remaining:#fffde7;--c-actual:#ede7f6;--c-invoice:#e3f2fd;--c-month:#2e7d32;--ink:#1f2329;--line:#d0d4da}*{box-sizing:border-box}body{color:var(--ink);background:#f5f6f8;margin:0;font-family:Malgun Gothic,맑은 고딕,Apple SD Gothic Neo,AppleGothic,sans-serif;font-size:14px;line-height:1.5}.page{max-width:1100px;margin:0 auto;padding:20px 16px 60px}h1{margin:0 0 4px;font-size:20px}.subtitle{color:#555;margin:0 0 12px}.intro{border:1px solid var(--line);color:#333;background:#fff;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:13px}.intro p{margin:4px 0}.legend{flex-wrap:wrap;gap:8px 16px;margin:8px 0 0;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{border:1px solid #00000026;border-radius:3px;width:14px;height:14px;display:inline-block}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.toolbar .grow{flex:1}.muted{color:#777;font-size:13px}button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px}button:hover{background:#f0f1f3}button.primary{background:var(--c-month);color:#fff;border-color:var(--c-month)}button.danger{color:var(--c-cancel-tx);border-color:#ef9a9a}button.mini{padding:2px 7px;font-size:12px}.sheet{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%;font-size:13px}.sheet th,.sheet td{border:1px solid var(--line);text-align:left;vertical-align:middle;padding:5px 8px}.sheet thead th{text-align:center;white-space:nowrap;background:#eceff1;font-weight:700}.sheet td.num,.sheet th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.col-kind{white-space:nowrap;width:86px}.col-date{white-space:nowrap;width:104px}.col-po{white-space:nowrap;width:132px}.col-qty,.col-sum{width:64px}.month-head td{background:var(--c-month);color:#fff;padding:7px 10px;font-size:14px;font-weight:700}.month-head .range{opacity:.9;margin-left:6px;font-size:12px;font-weight:400}.row-order td{background:var(--c-order)}.row-delivery td{background:var(--c-delivery)}.row-carryover td{background:var(--c-carryover)}.row-split td{background:#fce4ec}.row-cancel td{background:var(--c-cancel);color:var(--c-cancel-tx);text-decoration:line-through}.row-cancel .note,.row-cancel .actions{text-decoration:none}.deduct{color:var(--c-cancel-tx);margin-left:3px;font-weight:700}.carry{color:#6a1b9a;margin-left:3px;font-weight:700}.split-tag{color:#ad1457;background:#fce4ec;border:1px solid #f48fb1;border-radius:10px;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:700;display:inline-block}.split-note{color:#ad1457;margin-bottom:2px;font-size:12px;display:block}.split-num{color:#c2185b;margin-left:3px;font-weight:700}.carry-num{color:#6a1b9a;font-weight:700}.neg{color:var(--c-cancel-tx);font-weight:700}.note{color:#444;font-size:12px}.actions{gap:4px;margin-left:6px;display:inline-flex}.deduct-editor{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.deduct-editor input{width:48px}.sub td{font-weight:700}.sub .desc{color:#555;font-weight:400}.sub-order td{background:#ffe0b2}.sub-delivery td{background:#c8e6c9}.sub-remaining td{background:#fff59d}.sub-actual td{background:var(--c-actual)}.sub-invoice td{background:var(--c-invoice)}.totals{margin-top:18px}.totals h2{margin:0 0 8px;font-size:16px}.totals-table{border-collapse:collapse;border:2px solid var(--c-month);background:#fff;width:100%;font-size:14px}.totals-table th,.totals-table td{border:1px solid var(--line);padding:8px 10px}.totals-table thead th{background:var(--c-month);color:#fff}.totals-table td.num,.totals-table th.num{text-align:right;font-variant-numeric:tabular-nums}.totals-table .label{font-weight:700}.totals-table .grand{background:#f1f8e9;font-weight:700}.input-card{max-width:560px;margin:14px 0}.seg{border:1px solid var(--line);border-radius:7px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg button{border:0;border-right:1px solid var(--line);background:#fff;border-radius:0;padding:6px 14px}.seg button:last-child{border-right:0}.seg button:hover{background:#eef0f2}.seg button.on{background:var(--accent-soft,var(--c-delivery));color:var(--accent-ink,var(--c-month));box-shadow:inset 0 -2px 0 0 var(--accent-bd,var(--c-month));font-weight:700}.seg-kind{margin-bottom:12px}.seg-kind button{font-weight:700}.seg-kind .k-order{color:#e65100}.seg-kind .k-delivery{color:#2e7d32}.seg-kind .k-carryover{color:#6a1b9a}.seg-kind .k-split{color:#c2185b}.input-card.kind-order{--accent-soft:var(--c-order);--accent-bd:var(--c-order-bd);--accent-ink:#e65100}.input-card.kind-delivery{--accent-soft:var(--c-delivery);--accent-bd:var(--c-delivery-bd);--accent-ink:#2e7d32}.input-card.kind-carryover{--accent-soft:var(--c-carryover);--accent-bd:var(--c-carryover-bd);--accent-ink:#6a1b9a}.input-card.kind-split{--accent-soft:#fce4ec;--accent-bd:#f48fb1;--accent-ink:#c2185b}.input-card{border-left:4px solid var(--accent-bd,var(--line))}.input-card .submit-btn,.input-card .mini.primary{background:var(--accent-soft,var(--c-delivery));border-color:var(--accent-bd,var(--c-month));color:var(--accent-ink,var(--c-month));font-weight:700}.input-card .submit-btn:hover,.input-card .mini.primary:hover{filter:brightness(.97)}.card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px 14px}.picked{flex-wrap:wrap;gap:6px;min-height:22px;margin:2px 0 12px;display:flex}.chip{background:var(--accent-soft,var(--c-order));border:1px solid var(--accent-bd,var(--c-order-bd));border-radius:14px;align-items:center;gap:6px;padding:3px 6px 3px 11px;font-size:13px;font-weight:700;display:inline-flex}.chip-x{cursor:pointer;background:#00000014;border:0;border-radius:50%;width:18px;height:18px;padding:0;font-size:13px;line-height:1}.chip-x:hover{background:#0003}.submit-btn{margin-top:4px;padding:8px 20px}.field{align-items:center;gap:8px;margin-bottom:6px;display:flex}.field label{color:#555;flex-shrink:0;width:76px;font-size:13px}.field input{flex:1;min-width:0}input,select{font:inherit;border:1px solid var(--line);border-radius:5px;padding:5px 7px}input[type=number]{text-align:right}.err{color:var(--c-cancel-tx);background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;margin:10px 0;padding:8px 12px}.empty{text-align:center;color:#888;padding:40px}.edit-banner{border:1px solid var(--c-order-bd);color:#7a3b00;background:#fff3e0;border-left:5px solid #e65100;border-radius:6px;margin:10px 0;padding:9px 14px;font-size:13px}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:16px;padding:12px 14px}.panel h2{margin:0 0 8px;font-size:15px}.trash-list{margin:0;padding:0;list-style:none}.trash-list li{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.trash-desc{flex:1;min-width:200px}.history-table{border-collapse:collapse;width:100%;font-size:13px}.history-table th,.history-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:5px 8px}.history-table thead th{color:#666;font-weight:600}.hist-tag{white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:12px;display:inline-block}.hist-create{color:#2e7d32;background:#e8f5e9}.hist-update{color:#1565c0;background:#e3f2fd}.hist-delete{color:var(--c-cancel-tx);background:#ffebee}.hist-restore{color:#6a1b9a;background:#ede7f6}.hist-reset{color:#455a64;background:#eceff1}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{flex-direction:column;gap:12px;width:100%;max-width:340px;margin-top:0;display:flex}.login-card h1{margin:0;font-size:18px}.login-field{color:#444;flex-direction:column;gap:4px;font-size:13px;display:flex}.login-field input{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:14px}.login-card .err{margin:0}.user-badge{color:#333;font-weight:600}.accounts-panel .acct-new{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.accounts-panel .acct-new input{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:13px}.acct-table{border-collapse:collapse;width:100%;font-size:13px}.acct-table th,.acct-table td{text-align:left;border-bottom:1px solid #eee;padding:5px 8px}.acct-table thead th{color:#666;font-weight:600}.acct-pw{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.acct-pw input{border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:13px}
