:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f3f4f8;--holding-row-alt: #f4f8ff;--holding-row-hover: #eaf1ff;--border: #e6e8ee;--border-strong: #d6d9e0;--text: #15171c;--text-2: #5a606b;--text-3: #8a909b;--accent: #2c5cff;--accent-soft: #eaf0ff;--holding-valuation-cash-bg: #d9efff;--holding-valuation-cash-fg: #0b5b8c;--holding-valuation-manual-bg: #e4e9ff;--holding-valuation-manual-fg: #2a3f9e;--up: #e23b3b;--up-soft: #fdecec;--down: #2c5cff;--down-soft: #eaf0ff;--radius: 10px;--radius-lg: 14px}*{box-sizing:border-box}html,body{margin:0;height:100%}#root{margin:0;height:100%;max-height:100dvh;overflow:hidden}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.num{font-family:Inter,Pretendard,sans-serif;font-variant-numeric:tabular-nums}tr[data-role=holding-row]{cursor:pointer;background:#fff;transition:background-color .12s ease}tr[data-role=holding-row]:nth-child(odd){background:var(--holding-row-alt)}tr[data-role=holding-row]:hover{background:var(--holding-row-hover)}tr[data-role=holding-row]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.app-loading-screen{min-height:100dvh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(44,92,255,.16),transparent 30%),radial-gradient(circle at 85% 15%,rgba(16,185,129,.14),transparent 24%),linear-gradient(135deg,#f7f9fc,#edf2f7 46%,#e8edf5)}.app-loading-panel{width:min(1180px,100%);border-radius:28px;border:1px solid rgba(148,163,184,.22);background:#ffffffd1;box-shadow:0 28px 90px #0f172a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.app-loading-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(420px,1fr);gap:28px;padding:28px}.app-loading-copy{display:grid;align-content:start;gap:20px}.app-loading-eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em}.app-loading-title{margin:0;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.04em}.app-loading-subtitle{margin:-6px 0 0;color:var(--text-2);font-size:15px;line-height:1.65}.app-loading-status-card,.app-loading-preview-shell{border:1px solid rgba(214,217,224,.82);border-radius:24px;background:#ffffffe6;box-shadow:inset 0 1px #ffffff8c}.app-loading-status-card{padding:18px 18px 16px}.app-loading-status-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.app-loading-status-label{color:var(--text-3);font-size:12px;margin-bottom:4px}.app-loading-status-title{display:block;font-size:18px;line-height:1.3}.app-loading-status-badge{flex:0 0 auto;min-width:52px;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;text-align:center}.app-loading-progress-track{height:10px;border-radius:999px;background:#e9edf4;overflow:hidden}.app-loading-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2c5cff,#1d7df2 58%,#19b4a4);box-shadow:0 10px 24px #2c5cff3d;transition:width .24s ease}.app-loading-progress-caption{margin-top:10px;color:var(--text-2);font-size:12px;line-height:1.55}.app-loading-step-list{display:grid;gap:10px}.app-loading-step{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid rgba(214,217,224,.78);background:#f8fafcd6;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.app-loading-step--active{border-color:#2c5cff57;background:#eaf0ffe6;transform:translateY(-1px)}.app-loading-step--done{border-color:#10b98138;background:#ecfdf5db}.app-loading-step-marker{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--text-2);background:#fffffff5;border:1px solid rgba(214,217,224,.95)}.app-loading-step--active .app-loading-step-marker{color:#fff;border-color:transparent;background:linear-gradient(135deg,#2c5cff,#18a0f8)}.app-loading-step--done .app-loading-step-marker{color:#0c7a54;border-color:transparent;background:linear-gradient(135deg,#c7f9de,#ecfdf5)}.app-loading-step-copy{min-width:0}.app-loading-step-label{font-size:14px;font-weight:700}.app-loading-step-detail{margin-top:4px;color:var(--text-2);font-size:12px;line-height:1.55}.app-loading-step-state{color:var(--text-3);font-size:12px;font-weight:700;white-space:nowrap}.app-loading-step--active .app-loading-step-state{color:var(--accent)}.app-loading-step--done .app-loading-step-state{color:#0c7a54}.app-loading-preview{min-width:0}.app-loading-preview-shell{height:100%;min-height:520px;padding:20px;background:linear-gradient(180deg,#f8fafcf5,#fffffffa)}.app-loading-preview-topbar{height:68px;border-radius:20px;margin-bottom:16px}.app-loading-preview-hero{padding:4px 2px 18px}.app-loading-preview-title{width:58%;height:28px;border-radius:12px;margin-bottom:12px}.app-loading-preview-subtitle{width:34%;height:14px;border-radius:999px}.app-loading-preview-cards{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;margin-bottom:16px}.app-loading-preview-card{padding:16px;border-radius:20px;border:1px solid rgba(214,217,224,.72);background:#fff}.app-loading-preview-kpi{width:72%;height:72px;border-radius:18px;margin-bottom:12px}.app-loading-preview-line{width:100%;height:12px;border-radius:999px}.app-loading-preview-line+.app-loading-preview-line{margin-top:10px}.app-loading-preview-line--short{width:68%}.app-loading-preview-chart{width:100%;height:132px;border-radius:18px}.app-loading-preview-table{display:grid;gap:12px}.app-loading-preview-row{height:54px;border-radius:16px}.app-loading-shimmer{background:linear-gradient(90deg,#edf2f7,#f9fbfd 48%,#edf2f7);background-size:200% 100%;animation:shimmer 1.6s linear infinite}@media (max-width: 960px){.app-loading-screen{padding:18px}.app-loading-grid{grid-template-columns:1fr}.app-loading-preview-shell{min-height:380px}}@media (max-width: 640px){.app-loading-panel{border-radius:24px}.app-loading-grid{gap:20px;padding:20px}.app-loading-title{font-size:28px}.app-loading-status-header,.app-loading-step{grid-template-columns:auto 1fr}.app-loading-status-badge,.app-loading-step-state{grid-column:2;justify-self:start}.app-loading-preview-cards{grid-template-columns:1fr}.app-loading-preview-title{width:78%}.app-loading-preview-subtitle{width:52%}}button.bulk-holding-editable-cell{background:transparent;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}button.bulk-holding-editable-cell:hover:not(:disabled){background-color:#2c5cff12;border-color:#2c5cff52;box-shadow:0 0 0 1px #2c5cff1f}button.bulk-holding-editable-cell.bulk-holding-editable-cell--edited{background-color:#2c5cff0f}button.bulk-holding-editable-cell.bulk-holding-editable-cell--edited:hover:not(:disabled){background-color:#2c5cff1a;border-color:#2c5cff61;box-shadow:0 0 0 1px #2c5cff29}button.bulk-holding-editable-cell.bulk-holding-editable-cell--active{background-color:#2c5cff17;border-color:#2c5cff47}button.bulk-holding-editable-cell.bulk-holding-editable-cell--active:hover:not(:disabled){background-color:#2c5cff1c}
