:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.5;font-weight:400;color:#d8dce5;background-color:#141820;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}:root{--bg: var(--tool-bg, #1a1a1a);--panel: rgba(255,255,255,.15);--muted: #999;--text: #e0e0e0;--text-sub: #aaa;--line: rgba(255,255,255,.12);--accent: #F06524;--accent-light: rgba(240,101,36,.12);--good: #2ecc71;--warn: #f1c40f;--bad: #e74c3c;--chip: rgba(255,255,255,.15);--input-bg: rgba(255,255,255,.12);--radius: 12px}#root{width:95%;max-width:95vw;margin:0 auto;padding-top:72px;text-align:left;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}#root header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#0000000f}#root header h1{font-size:17px;margin:0;color:var(--text);white-space:nowrap}#root header .sub{color:var(--muted);font-size:12px}.header-fields{display:flex;gap:10px;align-items:center;margin-left:auto}.header-field{display:flex;align-items:center;gap:6px}.header-field label{font-size:11px;color:var(--muted);white-space:nowrap}.header-field input{background:var(--input-bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12px;outline:none;width:140px}.header-field input:focus{border-color:var(--accent)}main{padding:12px;display:flex;flex-direction:column;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px #00000014}.card .hd{padding:12px 14px 8px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card .hd h2{margin:0;font-size:14px;color:var(--text)}.card .bd{padding:10px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px}.field-grid label{font-size:11px;color:var(--muted);margin-bottom:2px;display:block}.field-grid input[type=text],.field-grid input[type=number]{width:100%;background:var(--input-bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 8px;outline:none;font-size:12px;box-sizing:border-box}.field-grid input:focus{border-color:var(--accent)}button{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:700;font-size:12px}button.secondary{background:#00000014;color:var(--text-sub);border:1px solid var(--line);font-weight:600}button:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}.upload-area{border:2px dashed var(--line);border-radius:var(--radius);padding:28px 20px 22px;text-align:center;background:#1a1a1a;transition:all .2s;cursor:pointer}.upload-area:hover,.upload-area.dragover{border-color:#f0652499;background:#f0652414}.upload-area p{margin:4px 0;color:var(--muted);font-size:13px}.upload-area-sm{padding:14px 20px 12px;border-width:1.5px}.format-icons{display:flex;justify-content:center;gap:18px;margin-top:4px}.format-icon{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 16px;border:1.5px solid rgba(0,0,0,.12);border-radius:10px;background:transparent;transition:all .2s;color:var(--muted)}.format-icon span{font-size:10px;font-weight:700;letter-spacing:.5px}.format-icon.pdf,.format-icon.jpg,.format-icon.xlsx{border-color:#0000001f;color:var(--muted)}.upload-area:hover .format-icon.pdf,.upload-area:hover .format-icon.jpg,.upload-area:hover .format-icon.xlsx{border-color:#0000002e;background:#ffffff1a}.table-wrap{overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--radius);max-height:70vh}table{width:100%;border-collapse:separate;border-spacing:0;background:#ffffff1f;font-size:11px;table-layout:fixed}thead th{position:sticky;top:0;background:#00000026;z-index:2;border-bottom:1px solid var(--line);color:#fff;padding:8px 3px;text-align:center;font-weight:800;font-size:12px;overflow:hidden;text-overflow:ellipsis;word-break:keep-all}tbody td{border-bottom:1px solid var(--line);padding:3px 2px;vertical-align:middle;overflow:hidden}tbody tr:hover td{background:#f065240f}.item-label{font-size:10px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtotal-row td{background:#f065240f}.subtotal-row .item-label{font-weight:800;color:var(--text)}.num-input{width:100%;box-sizing:border-box;background:#ffffff4d;border:1px solid var(--line);border-radius:4px;padding:3px;color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;text-align:right;outline:none}.num-input:focus{border-color:var(--accent)}.num-input[type=number]::-webkit-inner-spin-button,.num-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-input[type=number]{-moz-appearance:textbox}.highlight-row td{background:#f065241a!important}.highlight-row .item-label{color:var(--accent)!important;font-weight:800}.input-alert{border:4px solid var(--accent)!important;background:#f065241f!important;animation:alert-pulse 1s ease-in-out infinite}.input-alert::placeholder{color:var(--accent);opacity:.9;font-weight:700;text-align:center}@keyframes alert-pulse{0%,to{box-shadow:0 0 #f0652400}50%{box-shadow:0 0 10px 3px #f0652466}}.num-cell{text-align:right;font-variant-numeric:tabular-nums;font-size:11px;padding:4px 6px;color:var(--text)}.num-cell.total{font-weight:800;color:var(--text)}.num-cell.negative{color:var(--bad)}.kpi{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.chip{background:var(--chip);border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:12px;display:inline-flex;gap:4px;align-items:center}.chip b{font-weight:800}.chip.good{border-color:#1a7a4266}.chip.warn{border-color:#b5850a66}.chip.bad{border-color:#c0392b66}.result-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:#ffffff1a;margin-bottom:8px}.result-card.good{border-color:#1a7a4266}.result-card.warn{border-color:#b5850a66}.result-card.bad{border-color:#c0392b66}.result-card.alert{border-color:#f0652466}.result-card h3{margin:0 0 6px;font-size:13px}.result-card .detail{font-size:12px;color:var(--muted);line-height:1.6}.result-card .ratio{font-size:20px;font-weight:800}.result-card .ratio.good{color:var(--good)}.result-card .ratio.warn{color:var(--warn)}.result-card .ratio.bad{color:var(--bad)}.verdict-text{font-weight:800}.verdict-text.good{color:var(--good)}.verdict-text.warn{color:var(--warn)}.verdict-text.bad{color:var(--bad)}.verdict-text.alert{color:var(--accent);font-size:12px}.pill.warn{border-color:#b5850a99;color:var(--warn);font-weight:800}.pill.bad{border-color:#c0392b99;color:var(--bad);font-weight:800}.pill.good{border-color:#1a7a428c;color:var(--good);font-weight:800}.pill.alert{border-color:#f0652499;color:var(--accent);font-weight:800;font-size:12px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.summary-item{background:#ffffff1a;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.summary-item label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.summary-item .value{font-size:18px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:3px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px;color:var(--muted)}.verify-table{width:100%;border-collapse:collapse}.verify-table th,.verify-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;font-size:12px}.verify-table th{color:#fff;font-weight:700;text-align:center;background:#00000026}.verify-table td:first-child{text-align:left;font-weight:600}.verify-table .highlight{color:var(--accent);font-weight:800;font-size:18px}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.log-area{max-height:120px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:8px;background:#ffffff14;font-size:11px;color:var(--muted)}.log-area div{padding:1px 0}.ratio-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#ffffff1a}.ratio-header{padding:8px 14px;font-size:12px;font-weight:700;color:var(--text-sub);background:#00000014;border-bottom:1px solid var(--line)}.ratio-table table{width:100%;border-collapse:collapse;background:transparent}.ratio-table td{padding:9px 14px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.ratio-table tr:last-child td{border-bottom:none}.ratio-label{font-weight:600;color:var(--text);white-space:nowrap}.ratio-sub{font-size:10px;color:var(--muted);font-weight:400}.ratio-input{width:100%;background:#ffffff4d;border:2px solid var(--accent);border-radius:8px;padding:8px 10px;color:var(--text);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;outline:none;box-sizing:border-box}.ratio-input:focus{border-color:var(--text);box-shadow:0 0 0 3px #f0652433}.ratio-value{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.ratio-note{font-size:11px;color:var(--muted);line-height:1.5}.ratio-note-highlight{color:var(--accent);font-size:11px}.ratio-result-row{background:#f0652414}.ratio-result-row td{border-bottom:none}.ratio-result{font-size:18px;font-weight:800;color:var(--accent);text-align:left;font-variant-numeric:tabular-nums}.card-dim{opacity:.45;pointer-events:none;transition:opacity .3s}.card-active{opacity:1;pointer-events:auto;transition:opacity .3s}.next-step{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding:15px 21px;border:1px solid rgba(26,122,66,.3);border-radius:var(--radius);background:#1a7a4214;font-size:18px;color:var(--good);font-weight:600;cursor:pointer;transition:all .2s}.next-step:hover{border-color:#1a7a4280;background:#1a7a421f}.next-step-check{font-size:14px;font-weight:800}.next-step-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 21px;font-weight:700;font-size:18px;cursor:pointer}.next-step-btn:hover{opacity:.9}.step-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}.step-badge.pulse{background:var(--accent-light);border:1px solid rgba(240,101,36,.4);color:var(--accent);animation:pulse-glow 2s ease-in-out infinite}.step-badge.done{background:#1a7a421a;border:1px solid rgba(26,122,66,.35);color:var(--good)}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f0652400}50%{box-shadow:0 0 8px 2px #f0652440}}@media(max-width:800px){.field-grid,.summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){#root{padding-top:60px}}
