:root{font-family:Arial,Noto Sans KR,sans-serif;color:#17202a;background:#f4f6f8;font-synthesis:none;--primary:#155eef;--line:#d8dee8;--muted:#64748b;--danger:#b42318;--warning:#a15c07;--success:#067647}*{box-sizing:border-box}body{margin:0;background:#f4f6f8;font-size:14px}button,input,select{font:inherit}.app-shell{width:min(1440px,calc(100% - 32px));margin:auto;padding:28px 0 48px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.topbar h1{margin:0;font-size:30px}.topbar p,.panel-head p{margin:6px 0 0;color:var(--muted)}.panel{margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 20px #0f172a0f}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:18px}.panel-body{padding:18px}.button{min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:6px;font-weight:700;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:#0f47b8}.button.secondary{border-color:#cbd5e1;background:#fff;color:#344054}.button.danger{border-color:#fecdca;background:#fff;color:var(--danger)}.button.small{min-height:34px;padding:6px 10px}.button.large{min-width:180px}.notice{margin-bottom:14px;padding:10px 12px;border:1px solid #b2ccff;border-radius:6px;background:#f5f8ff;color:#1849a9;font-weight:700}.upload{position:relative;display:flex;min-height:126px;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #cbd5e1;border-radius:7px;background:#f8fafc;color:var(--muted)}.upload.drag{border-color:var(--primary);background:#eef4ff}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload strong{color:#344054}.upload span{margin-top:7px;font-size:12px}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.field>span{color:#344054;font-size:13px;font-weight:700}.field b{margin-left:6px;color:var(--danger);font-size:10px}input,select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#17202a}.sheet-row{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px;gap:16px;align-items:end;margin-bottom:18px}.stat{padding:10px 14px;border:1px solid var(--line);border-radius:6px}.stat span,.result-kpis span{display:block;color:var(--muted);font-size:12px;font-weight:700}.stat strong{display:block;margin-top:5px;font-size:20px}.mapping-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.alert{margin-top:10px;padding:10px 12px;border:1px solid;border-radius:6px}.alert.error{border-color:#fecdca;background:#fffbfa;color:var(--danger)}.alert.warning{border-color:#fedf89;background:#fffcf5;color:var(--warning)}details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}summary{color:#344054;font-weight:700;cursor:pointer}.table-wrap{width:100%;overflow:auto;margin-top:12px;max-height:58vh;border:1px solid #e5e7eb}table{width:100%;min-width:1050px;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#334155;font-size:12px}tbody tr:hover{background:#eef4ff}.group-checks{display:flex;flex-wrap:wrap;gap:9px}.group-checks label{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-weight:700}.group-checks input{width:16px;min-height:auto;accent-color:var(--primary)}.rules{display:grid;gap:16px}.rule-panel{border:1px solid var(--line);border-radius:7px}.rule-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:#f8fafc}.rule-head h3{margin:0;font-size:16px}.rule-head>div{display:flex;gap:7px}.rule-main{padding:16px}.rule-fields{display:grid;grid-template-columns:1fr 200px;gap:14px}.condition-title{display:flex;align-items:baseline;gap:10px;margin:18px 0 10px}.condition-title span{color:var(--muted);font-size:12px}.condition-editor{padding:12px;border:1px solid #e5e7eb;border-radius:6px}.condition-controls{display:grid;grid-template-columns:220px 110px auto;gap:10px;align-items:center}.operator{color:var(--muted);font-size:12px;font-weight:700}.text{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer}.text.danger{justify-self:end;color:var(--danger)}.and{margin:8px 0;color:var(--muted);font-size:12px;font-weight:700}.value-picker{margin-top:10px}.picker-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;align-items:center}.picker-tools span{color:var(--muted);font-size:12px}.value-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;max-height:155px;overflow:auto;margin-top:8px;padding:9px;border:1px solid #e5e7eb;background:#f8fafc}.value-list label{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.value-list input{width:15px;min-height:auto;accent-color:var(--primary)}.add-condition{margin-top:10px}.actions{display:flex;justify-content:flex-end;margin-top:18px}.action-buttons{display:flex;gap:8px}.result-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.result-kpis>div{padding:14px;border:1px solid var(--line);border-radius:6px}.result-kpis strong{display:block;margin-top:7px;font-size:24px}.toolbar{display:grid;grid-template-columns:auto 1.2fr 180px 150px auto;gap:10px;align-items:center}.toolbar label{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#344054;font-weight:700}.toolbar label input{width:16px;min-height:auto}.tabs{display:flex}.tabs button{min-height:40px;border:1px solid #cbd5e1;background:#fff;padding:8px 12px}.tabs button:first-child{border-radius:6px 0 0 6px}.tabs button:last-child{border-radius:0 6px 6px 0}.tabs button.active{border-color:var(--primary);background:#eef4ff;color:#1849a9;font-weight:700}.number{text-align:right;font-variant-numeric:tabular-nums}.copy{margin-left:7px;border:0;background:transparent;color:var(--primary);font-size:11px;cursor:pointer}.empty{padding:34px;color:var(--muted);text-align:center}@media(max-width:900px){.app-shell{width:calc(100% - 20px)}.topbar,.panel-head{flex-direction:column}.mapping-grid,.sheet-row,.rule-fields,.condition-controls,.picker-tools,.toolbar{grid-template-columns:1fr}.value-list,.result-kpis{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column;width:100%}.button{width:100%}}.rule-fields{grid-template-columns:minmax(200px,1fr) 200px 150px}.percent-input{display:flex;align-items:center;gap:8px}.percent-input input{min-width:0}.percent-input>span{font-weight:700;color:#475569}.calculation-guide{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:10px;background:#eff6ff;color:#1e3a8a}.calculation-guide span{color:#475569}.result-table .erp-final{background:#ffeb00;color:#17202a;font-weight:800}.result-table td.order-total{font-weight:800}.order-table th:first-child,.order-table td:first-child{position:sticky;left:0;z-index:2;min-width:220px;background:#fff}.order-table th:nth-child(2),.order-table td:nth-child(2){position:sticky;left:220px;z-index:2;min-width:300px;background:#fff}.order-table th:first-child,.order-table th:nth-child(2){z-index:3;background:#f8fafc}@media(max-width:900px){.rule-fields{grid-template-columns:1fr}}
