@import url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css);:root{--surface:#fff;--surface-sunken:#f5f6fa;--surface-header:#f8f9fa;--navy:#1a1a2e;--ink:#1a1a2e;--ink-body:#333340;--ink-soft:#5c5c6b;--ink-on-navy:#fff;--ink-on-navy-soft:#ffffffb8;--accent-ink:#c22f46;--accent-ink-hover:#a8253a;--accent-deco:#ff6b81;--line:#e5e5ea;--line-strong:#d1d1d9;--line-on-navy:#ffffff1f;--ok-ink:#186b3c;--ok-tint:#e6f9ee;--info-ink:#12579e;--info-tint:#e3f2fd;--warn-ink:#8a4b0a;--warn-tint:#fff3e0;--danger-ink:#a81e32;--danger-tint:#fce4ec;--alt-ink:#6b21a8;--alt-tint:#f3e5f5;--neutral-ink:#5c5c6b;--neutral-tint:#f0f0f0;--done-ink:#1e6b32;--done-tint:#e8f5e9;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 4px #1a1a2e0f}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6fa;background:var(--surface-sunken);caret-color:#c22f46;caret-color:var(--accent-ink);color:#333340;color:var(--ink-body);font-family:Pretendard Variable,Pretendard,-apple-system,sans-serif}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit}.kpi-value,.status-value,table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::selection{background:#ffe4e8;color:#1a1a2e;color:var(--ink)}:focus-visible{border-radius:3px;outline:2px solid #c22f46;outline:2px solid var(--accent-ink);outline-offset:2px}*{scrollbar-color:#d1d1d9 #0000;scrollbar-color:var(--line-strong) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d1d9;background:var(--line-strong);border:3px solid #f5f6fa;border:3px solid var(--surface-sunken);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#b4b4bf}.layout{display:flex;min-height:100vh}.sidebar{background:var(--navy);bottom:0;color:var(--ink-on-navy);display:flex;flex-direction:column;left:0;position:fixed;top:0;width:240px}.sidebar-header{border-bottom:1px solid var(--line-on-navy);padding:24px 20px}.sidebar-header h1{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.sidebar-header span{color:var(--ink-on-navy-soft);font-size:12px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 10px}.sidebar-nav a{border-radius:var(--radius-md);color:var(--ink-on-navy-soft);display:block;font-size:14px;font-weight:500;padding:10px 14px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.sidebar-nav a:hover{background:#ffffff0f;color:var(--ink-on-navy)}.sidebar-nav a.active{background:#ff6b8124;color:var(--accent-deco);font-weight:600}.sidebar-footer{align-items:center;border-top:1px solid var(--line-on-navy);color:var(--ink-on-navy-soft);display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:16px 20px}.sidebar-footer button{background:none;border:1px solid #ffffff4d;border-radius:var(--radius-sm);color:var(--ink-on-navy-soft);cursor:pointer;font-size:12px;font-weight:500;padding:5px 12px;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.sidebar-footer button:hover{background:#ffffff1a;border-color:#ffffff80;color:var(--ink-on-navy)}.sidebar :focus-visible{outline-color:var(--accent-deco)}.main-content{background:var(--surface-sunken);flex:1 1;margin-left:240px;min-height:100vh;padding:32px}.login-page{align-items:center;background:var(--navy);display:flex;justify-content:center;min-height:100vh}.login-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 4px 24px #0003;padding:48px 40px;text-align:center;width:400px}.login-card h1{color:var(--ink);font-size:28px;margin:0 0 4px}.login-card p{color:var(--ink-soft);font-size:14px;margin:0 0 32px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card input{border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s}.login-card input:focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px #c22f4624}.login-card button{background:var(--accent-ink);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:12px;transition:background .2s}.login-card button:hover{background:var(--accent-ink-hover)}.login-card button:disabled{background:var(--line-strong);color:var(--ink-soft);cursor:not-allowed}.login-card .error{color:var(--danger-ink);font-size:13px;font-weight:500;text-align:left}.dashboard h2{color:var(--ink);font-size:24px;margin:0 0 24px}.kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.kpi-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;text-align:center}.kpi-value{color:var(--ink);font-size:32px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.kpi-label{color:var(--ink-soft);font-size:13px;font-weight:500}.status-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.status-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px 20px}.status-value{color:var(--ink);font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}.status-label{color:var(--ink-body);font-size:13px;font-weight:600}.status-desc{color:var(--ink-soft);font-size:11px;margin-top:2px}.charts-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:24px}.chart-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.chart-section h3{color:var(--ink);font-size:15px;margin:0 0 16px}.recent-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.recent-section h3{color:var(--ink);font-size:15px;margin:0 0 16px}.loading{font-size:14px}.kpi-label .dot,.status-label .dot{border-radius:999px;display:inline-block;height:7px;margin-right:6px;vertical-align:1px;width:7px}.kpi-card,.status-card{transition:box-shadow .15s ease}.chart-container .recharts-cartesian-axis-tick text{fill:var(--ink-soft)}.table-page h2{color:var(--ink);font-size:24px;margin:0 0 24px}.table-page h2 .count{color:var(--ink-soft);font-size:16px;font-weight:400}.table-page h3{color:var(--ink);font-size:16px;margin:32px 0 12px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.page-header h2{margin:0}.search-form{display:flex;gap:8px}.search-form input{padding:8px 12px;width:200px}.filter-group select,.search-form button,.search-form input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:13px}.filter-group select,.search-form button{background:var(--surface);cursor:pointer;padding:8px 16px}.search-form button{background:var(--navy);border:none;color:#fff}.table-wrapper{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}table{border-collapse:collapse;width:100%}thead{background:var(--surface-header)}th{color:var(--ink-soft);font-size:12px;font-weight:600;text-align:left;text-transform:uppercase}td,th{border-bottom:1px solid var(--line);padding:12px 16px}td{color:var(--ink-body);font-size:13px}td small{color:var(--ink-soft);font-size:11px}tr.clickable{cursor:pointer;transition:background .15s}tr.clickable:hover{background:var(--surface-header)}.center{color:var(--ink-soft);padding:40px!important;text-align:center}.badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.badge.green{background:var(--ok-tint);color:var(--ok-ink)}.badge.gray{background:var(--neutral-tint);color:var(--neutral-ink)}.badge.pending{background:var(--warn-tint);color:var(--warn-ink)}.badge.delivered{background:var(--info-tint);color:var(--info-ink)}.badge.viewed{background:var(--done-tint);color:var(--done-ink)}.badge.guessed{background:var(--alt-tint);color:var(--alt-ink)}.badge.matched{background:var(--danger-tint);color:var(--danger-ink)}.badge.failed{color:#4a4a57}.badge.expired,.badge.failed{background:var(--neutral-tint)}.badge.expired{color:var(--neutral-ink)}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:20px}.pagination button{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:8px 16px}.pagination button:disabled{cursor:not-allowed;opacity:.4}.pagination span{color:var(--ink-soft);font-size:13px}.back-btn{background:none;border:none;color:var(--info-ink);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:16px;padding:0}.back-btn:hover{text-decoration:underline}.detail-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.detail-header h2{margin:0}.detail-info{color:var(--ink-soft);display:flex;font-size:13px;gap:32px;margin-bottom:24px}.detail-grid,.detail-info{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.detail-field{padding:8px 0}.detail-label{color:var(--ink-soft);font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.detail-value{color:var(--ink-body);font-size:14px;word-break:break-all}.loading{align-items:center;color:var(--ink-soft);display:flex;height:200px;justify-content:center}.badge.awaiting_result{background:var(--warn-tint);color:var(--warn-ink)}.chain-graph{align-items:center;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding:20px}.chain-arrow{color:var(--line-strong);flex-shrink:0;font-size:20px}.chain-node{border:2px solid var(--line-strong);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;min-width:120px;padding:12px;text-align:center;transition:border-color .2s}.chain-node:hover{border-color:var(--info-ink)}.chain-node-matched{background:var(--ok-tint);border-color:var(--ok-ink)}.chain-node-failed{background:#fff5f6;border-color:var(--accent-ink)}.chain-node-awaiting_result{background:var(--warn-tint);border-color:var(--warn-ink)}.chain-node-label{color:var(--ink-soft);font-size:11px}.chain-node-arrow{color:var(--line-strong);font-size:14px;margin:2px 0}.chain-node-status{margin-top:4px}.chain-node-phase{color:var(--ink-soft);font-size:10px;margin-top:2px}.settings-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:20px;padding:24px}.settings-section h3{color:var(--ink);font-size:16px;margin:0 0 8px}.settings-desc{color:var(--ink-soft);font-size:13px;margin:0 0 16px}.settings-form{display:flex;flex-direction:column;gap:12px}.settings-row{align-items:center;display:flex;gap:12px}.settings-row label{color:var(--ink-soft);font-size:13px;font-weight:600;min-width:140px}.settings-row input,.settings-row select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:13px;padding:8px 12px}.settings-row button{background:var(--navy);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.settings-row button:disabled{cursor:not-allowed;opacity:.4}.settings-message{border-radius:var(--radius-md);font-size:13px;font-weight:500;margin-bottom:16px;padding:12px 16px}.settings-message.success{background:var(--ok-tint);color:var(--ok-ink)}.settings-message.error{background:var(--danger-tint);color:var(--danger-ink)}
/*# sourceMappingURL=main.572cbf71.css.map*/