:root{--navy:#111c2f;--green:#168a57;--bg:#f3f5f7;--line:#e2e8f0;--text:#253044;--muted:#748093}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Malgun Gothic",sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
.hidden{display:none!important}
.inv-header{min-height:330px;display:grid;place-items:center;background:var(--navy);color:#fff;text-align:center}
.inv-header>div{padding:25px}
.inv-header h1{margin:16px 0 7px;font-size:28px}
.inv-header p{margin:0;color:#cbd5e1;font-size:13px}
.inv-page{width:min(1100px,calc(100% - 24px));margin:auto;padding:20px 0 50px}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:15px}
.summary div,.panel,.toolbar{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 22px #2734490d}
.summary div{padding:18px}
.summary small{display:block;color:var(--muted);font-size:11px}
.summary b{display:block;margin-top:7px;color:var(--green);font-size:23px}
.delivery-exchange-summary span{display:block;white-space:nowrap}
.delivery-exchange-summary span+span{margin-top:4px}
.summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-3px 0 15px;color:var(--muted);font-size:12px}
.summary-actions button{border:1px solid #cbd5e1;border-radius:9px;padding:9px 13px;background:#fff;color:#475569;font-weight:800;cursor:pointer}
.modal-box.summary-history-box{max-width:980px}
.summary-history-table{min-width:800px}
.summary-history-table tfoot td{background:#eef8f2;color:#126f46;font-weight:900}
.summary-history-table td:first-child{text-align:center}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px;margin-bottom:15px}
.toolbar h2,.panel h2{margin:0;font-size:20px}
.toolbar p,.panel p{margin:5px 0 0;color:var(--muted);font-size:11px}
.toolbar>div:last-child,.panel-head>div{display:flex;gap:7px;flex-wrap:wrap}
.toolbar button,.panel-head button{border:0;border-radius:9px;padding:11px 14px;font-weight:800;cursor:pointer}
.primary,.panel-head button{background:var(--green);color:#fff}
.light{border:1px solid #cbd5e1!important;background:#fff;color:#475569}
.panel{margin-bottom:15px;padding:20px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{padding:14px 12px;border-bottom:1px solid #edf1f4;text-align:center;font-size:13px}
th{background:#f8fafc;color:#64748b;font-size:11px}
td:first-child{text-align:left;font-weight:800}
.stock-low{color:#dc2626!important}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.guide{padding:14px;border-radius:10px;background:#eef8f2;color:#167449!important}
.activity-title{margin:22px 0 0;font-size:15px}
.history{margin-top:15px}
.history-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 5px;border-bottom:1px solid #edf1f4}
.history-item b,.history-item small{display:block}
.history-item small{margin-top:5px;color:var(--muted)}
.history-item strong{color:var(--green);text-align:right}
.history-side{display:flex;align-items:center;gap:10px;text-align:right}
.history-side strong{display:block}
.cancel-delivery,.cancel-sale{border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#dc2626;padding:8px 10px;font-weight:800;cursor:pointer;white-space:nowrap}
.modal{position:fixed;z-index:150;inset:0;display:none;align-items:center;justify-content:center;padding:12px;background:#07101dc4}
.modal.open{display:flex}
.modal-box{width:100%;max-height:94dvh;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0006}
.modal-box.small{max-width:440px}
.modal-box.history-box{max-width:650px}
.history-modal-body{max-height:75dvh;padding:20px;overflow:auto}
.history-modal-body>input{min-height:46px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:9px;font-size:16px}
.modal-box header{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}
.modal-box header b,.modal-box header small{display:block}
.modal-box header small{margin-top:5px;color:var(--muted)}
.modal-box header button{border:0;background:none;font-size:27px}
.form{padding:20px;max-height:calc(94dvh - 80px);overflow:auto}
.form label{display:block;margin:12px 0 6px;font-size:13px;font-weight:800}
.form input,.form select{width:100%;min-height:50px;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-size:16px}
.submit{width:100%;min-height:51px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:800}
.error{min-height:20px;color:#dc2626;font-size:12px;text-align:center}
.calculation{margin-top:12px;padding:12px;border-radius:10px;background:#eef8f2;color:#167449;font-size:12px;font-weight:800;line-height:1.6}
.cancel-info{white-space:pre-line}
.cancel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.danger{min-height:51px;border:0;border-radius:10px;background:#dc2626;color:#fff;font-weight:800;cursor:pointer}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-top:18px}
.pagination:empty{display:none}
.pagination button{min-width:38px;height:38px;padding:0 11px;border:1px solid #dbe3ea;border-radius:9px;background:#fff;color:#475569;font-weight:800;cursor:pointer}
.pagination button.active{border-color:var(--green);background:var(--green);color:#fff}
.pagination button:disabled{opacity:.4;cursor:default}
.member-suggestions{max-height:210px;overflow:auto;margin-top:-5px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 10px 24px #0002}.member-suggestions button{display:block;width:100%;padding:12px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;font-weight:800;cursor:pointer}.member-suggestions button:hover{background:#eef8f2}
.alert{max-width:360px;padding:26px;text-align:center}
.alert p{white-space:pre-line;color:#64748b;line-height:1.7}
.alert button{margin-top:15px}
.manage-records{margin-bottom:24px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.manage-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border-bottom:1px solid #edf1f4}.manage-record:last-child{border-bottom:0}.manage-record b,.manage-record small{display:block}.manage-record small{margin-top:4px;color:var(--muted);line-height:1.5}.record-actions{display:flex;gap:6px}.record-actions button{min-height:36px;border:0;border-radius:8px;padding:0 11px;font-weight:800;cursor:pointer}.record-edit{background:#e0f2fe;color:#0369a1}.record-delete{background:#fee2e2;color:#b91c1c}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.confirm-actions button{width:100%}.confirm-actions .light{min-height:51px;border:0;border-radius:10px;background:#e2e8f0;color:#475569;font-weight:800}.confirm-actions .hidden+.submit{grid-column:1/-1}.modal-box.sale-box{max-width:720px}.sale-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.sale-list-head button{min-height:38px;border:0;border-radius:8px;padding:0 12px;background:#e7f7ee;color:var(--green);font-weight:800;cursor:pointer}.sale-items{display:grid;gap:10px}.sale-item{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(90px,.55fr) minmax(120px,.75fr) 38px;gap:7px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.sale-item label{margin:0!important}.sale-item select,.sale-item input{min-height:44px!important}.remove-sale-item{width:38px;height:44px;border:0;border-radius:8px;background:#fee2e2;color:#b91c1c;font-size:20px;font-weight:900;cursor:pointer}.sale-item-stock{display:block;margin-top:4px;color:#64748b;font-size:10px;font-weight:600}
@media(max-width:700px){.inv-header{min-height:300px}
.inv-header h1{font-size:21px}
.summary{grid-template-columns:repeat(2,1fr)}
.summary div{padding:14px}
.summary b{font-size:19px}
.toolbar{align-items:flex-start;flex-direction:column}
.toolbar>div:last-child{width:100%}
.toolbar button{flex:1}
.panel{padding:14px}
.panel-head{align-items:flex-start;flex-direction:column}
.panel-head input{min-height:44px;font-size:16px}
.modal{align-items:flex-start;padding-top:max(8px,env(safe-area-inset-top))}
.modal-box{max-height:calc(100dvh - 16px)}
.manage-record{grid-template-columns:1fr}.record-actions button{flex:1}.modal-box.sale-box{max-height:calc(100dvh - 16px)}.sale-item{grid-template-columns:1fr 1fr 38px}.sale-item .sale-product-label{grid-column:1/-1}.sale-item .sale-amount-label{grid-column:2}.remove-sale-item{grid-column:3;grid-row:2}
}
.stock-actions{display:flex;gap:5px;white-space:nowrap}.stock-actions button{padding:7px 9px;border:1px solid #cbd8d1;border-radius:8px;background:#fff;color:#176a43;font-weight:700;cursor:pointer}.stock-actions button.danger{border-color:#f1c7c7;color:#c33;background:#fff7f7}
.stock-history-open{border:0;border-bottom:1px solid #8bc5a8;background:transparent;color:#126f46;padding:2px 0;font-weight:900;text-align:left;cursor:pointer}.stock-history-open:hover,.stock-history-open:focus{color:#0d5636;border-bottom-color:#0d5636}.stock-flow-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px;border-radius:12px;background:#eef8f2;color:#176a43}.stock-flow-summary b,.stock-flow-summary strong{font-size:15px}.stock-flow-summary strong{margin-left:auto}.stock-flow-list{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.stock-flow-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:15px;border-bottom:1px solid var(--line)}.stock-flow-item:last-child{border-bottom:0}.stock-flow-item>div{min-width:0}.stock-flow-item b{display:inline;margin-left:8px}.stock-flow-item small{display:block;margin-top:7px;color:var(--muted);line-height:1.5}.stock-flow-item>strong{color:var(--green);font-size:17px}.stock-flow-type{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.stock-flow-type.delivery{background:#e0f2fe;color:#0369a1}.stock-flow-type.exchange{background:#fff1d6;color:#9a5700}.stock-flow-empty{padding:30px 15px;text-align:center;color:var(--muted)}
@media(max-width:700px){.stock-flow-summary strong{width:100%;margin-left:0}.stock-flow-item b{display:block;margin:7px 0 0}.stock-flow-item{align-items:start}}
