:root{--bg: #f4f6f5;--card: #ffffff;--ink: #17211f;--muted: #5f6b68;--line: #dfe5e2;--accent: #0f766e;--accent-ink: #ffffff;--warn: #b45309;--ok: #15803d;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:18px;margin:0}h3{font-size:15px;margin:0}h4{font-size:13px;margin:14px 0 6px;color:var(--muted);text-transform:none}p{margin:4px 0}ul{padding-left:18px}li{margin:4px 0}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.app{max-width:1280px;margin:0 auto;padding:16px 20px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:15px}.tabs{display:flex;gap:4px;background:#e6ebe9;padding:4px;border-radius:10px}.tabs button,.seg button{border:0;background:transparent;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;color:var(--muted);font-size:13px}.tabs button.active,.seg button.active{background:var(--card);color:var(--accent);box-shadow:0 1px 2px #00000014}.seg{display:inline-flex;gap:2px;background:#e6ebe9;padding:3px;border-radius:8px}.seg.big button{padding:10px 18px;font-size:14px}.optionsbar{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.viewbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:12px;flex-wrap:wrap}.live{display:flex;gap:10px;align-items:baseline}.live b{font-size:20px;color:var(--accent)}.row{display:flex;gap:12px;align-items:flex-end}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)!important}}.card{background:var(--card);border:1px solid var(--line);border-radius:12px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.card-body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px}.grid{display:grid;gap:10px 14px}.field{display:flex;flex-direction:column;gap:3px;min-width:0}.field-label{font-size:12px;color:var(--muted);font-weight:600}.field-input{display:flex;align-items:center;gap:6px}.field-input input[type=number],.field-input input[type=text],.field-input select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}.field-input input:disabled{background:#f1f3f2;color:var(--muted)}.unit{font-size:12px;color:var(--muted);white-space:nowrap}.help{font-size:11px;color:var(--muted)}.toggle{display:flex;align-items:center;gap:6px;font-size:13px;padding:8px 0;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font:inherit;font-weight:600;color:var(--ink)}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.small{padding:4px 8px;font-size:12px}table{border-collapse:collapse;width:100%}.mini-table th,.mini-table td,.lines-table th,.lines-table td,.travel-table th,.travel-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}.mini-table th,.lines-table th,.travel-table th{font-size:12px;color:var(--muted);font-weight:600;background:#f8faf9}.mini-table input,.travel-table input,.mini-table select{width:100%;max-width:160px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;font:inherit}.num{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.table-wrap,.travel-table-wrap{overflow-x:auto}tr.dim td{color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle;margin-right:4px}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e6ebe9;font-size:12px;font-weight:600;color:var(--muted)}.badge.ok{background:#dcfce7;color:var(--ok)}.badge.warn{background:#ffedd5;color:var(--warn)}.tag{font-size:11px;padding:2px 7px;border-radius:6px;background:#f1f3f2;color:var(--muted)}.notice{padding:10px 12px;background:#eef6f4;border:1px solid #cfe5df;border-radius:8px}.notice.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}details summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:13px;padding:4px 0}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi{background:var(--card);border:1px solid var(--line);border-top:3px solid #cbd5d1;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.kpi.main{border-top-color:var(--accent)}.kpi-label{font-size:12px;color:var(--muted);font-weight:600}.kpi-value{font-size:22px;font-weight:800;letter-spacing:-.01em}.kpi.small .kpi-value{font-size:18px}.kpi-sub{font-size:12px;color:var(--muted)}.measures{display:flex;flex-direction:column;gap:10px}.measure{display:grid;grid-template-columns:24px 1fr 160px;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}.measure.selected{border-color:var(--accent);background:#f3faf8}.measure-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.measure-meta{display:flex;gap:6px;margin-top:6px}.measure-saving{text-align:right;display:flex;flex-direction:column}.measure-saving .big{font-size:18px;font-weight:800;color:var(--accent)}.formula{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:10px;font-size:12px;overflow-x:auto;line-height:1.6}.methodology .mini-table td{font-size:12px}footer{margin-top:30px;padding-top:12px;border-top:1px solid var(--line)}@media print{.optionsbar,.tabs,.viewbar .seg,.btn,footer{display:none!important}.app{max-width:none;padding:0}.card{break-inside:avoid}}
