:root{--color-positive: #e34948;--color-negative: #2a78d6;--color-positive-soft: #fdecec;--color-negative-soft: #eaf1fb;--color-bg: #f6f6f4;--color-surface: #ffffff;--color-surface-sunken: #faf9f7;--color-surface-hover: #f2f1ee;--color-border: #e1e0d9;--color-border-strong: #c3c2b7;--color-text: #0b0b0b;--color-text-secondary: #52514e;--color-text-muted: #898781;--color-accent: #1f5aa8;--color-accent-soft: #e8eef7;--color-focus: #2a78d6;--color-warning-bg: #fdf6e3;--color-warning-border: #e8d9a8;--color-warning-text: #6b5518;--color-danger: #c0392b;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--radius-sm: 4px;--radius: 8px;--shadow-sm: 0 1px 2px rgba(16, 15, 12, .06);--sidebar-width: 208px;--content-max: 1240px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3}p{margin:0}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.app{display:flex;min-height:100%}.sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:0;height:100vh}.sidebar__brand{padding:0 var(--space-3)}.sidebar__title{font-size:var(--text-lg);letter-spacing:-.01em}.sidebar__subtitle{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.sidebar__nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--text-md);text-align:left;cursor:pointer}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-item--active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.nav-item__icon{width:16px;text-align:center;opacity:.85;flex:0 0 16px}.sidebar__footer{margin-top:auto;padding:0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.main{flex:1;min-width:0;padding:var(--space-5) var(--space-6)}.main__inner{max-width:var(--content-max);margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.page-title{font-size:var(--text-xl);letter-spacing:-.01em}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--space-4)}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.card__title{font-size:var(--text-md);font-weight:600}.card__hint{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.card__body{padding:var(--space-4)}.card__body--flush{padding:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4)}.stat__label{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.stat__value{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.stat__value--sm{font-size:var(--text-xl)}.stat__sub{margin-top:2px;font-size:var(--text-base);font-variant-numeric:tabular-nums}.stat--primary{background:linear-gradient(180deg,var(--color-surface),var(--color-surface-sunken))}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}.muted{color:var(--color-text-muted)}.secondary{color:var(--color-text-secondary)}.table-wrap{overflow-x:auto;max-height:640px;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base);white-space:nowrap}.table th{position:sticky;top:0;z-index:1;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.table tbody tr:nth-child(2n) td{background:var(--color-surface-sunken)}.table tbody tr:hover td{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table .n{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr.row-clickable{cursor:pointer}.table tbody tr.row-clickable:hover td{background:var(--color-accent-soft)}.cell-sub{font-size:var(--text-sm)}.table tfoot td{background:var(--color-surface-sunken);border-top:1px solid var(--color-border-strong);font-weight:600;padding:var(--space-2) var(--space-3)}.table__empty{padding:var(--space-5) var(--space-3);color:var(--color-text-muted);text-align:center;white-space:normal}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:6px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--color-surface-hover)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background:#17457f}.btn--ghost{border-color:transparent;background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn--sm{padding:3px var(--space-2);font-size:var(--text-sm)}.btn--on{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.field{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-base)}.field__label{color:var(--color-text-muted);white-space:nowrap}.input,.select{padding:5px var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base)}.select{max-width:280px;cursor:pointer}.select--on{border-color:var(--color-accent);color:var(--color-accent);font-weight:600;background:var(--color-accent-soft)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.toolbar__group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.toolbar__sep{width:1px;align-self:stretch;background:var(--color-border)}.toolbar__spacer{flex:1}.badge{display:inline-block;padding:1px 6px;border-radius:999px;font-size:var(--text-xs);background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-secondary);white-space:nowrap}.badge--positive{background:var(--color-positive-soft);border-color:transparent;color:var(--color-positive)}.badge--negative{background:var(--color-negative-soft);border-color:transparent;color:var(--color-negative)}.notice{padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:var(--radius);font-size:var(--text-base);margin-bottom:var(--space-4)}.notice__title{font-weight:600;margin-bottom:2px}.state{padding:var(--space-7) var(--space-4);text-align:center;color:var(--color-text-muted)}.state--error{color:var(--color-danger)}.footnote{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-4)}.sidebar__account{padding:0 var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.sidebar__account-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.sidebar__account-select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm)}.sidebar__account-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.token-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:var(--color-bg);z-index:10}.token-gate__card{width:min(420px,100%)}.token-gate__title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:700}.token-gate__desc{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.token-gate__input{width:100%;margin-bottom:var(--space-3)}
