:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #111827;--color-surface-hover: #273449;--color-border: #334155;--color-border-strong: #475569;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-disabled: #64748b;--color-positive: #10b981;--color-negative: #ef4444;--color-gold: #facc15;--color-brand-green: #22c55e;--color-brand-yellow: #fde047;--sidebar-width: 240px;--header-height: 64px;font-family:Pretendard,Inter,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-primary);background:var(--color-bg);font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0;width:100%;min-width:0;background:var(--color-bg)}html,#root{min-width:0;background:var(--color-bg)}button{font:inherit}.loading{display:grid;min-height:100vh;place-items:center;color:var(--color-text-secondary);background:var(--color-bg)}.appShell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--color-border);background:var(--color-surface-elevated);padding:22px 14px}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 24px}.brandMark{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(34,197,94,.45);border-radius:8px;color:var(--color-brand-yellow);background:#22c55e1f}.brand strong{display:block;font-size:20px;line-height:1.1}.brand span{display:block;margin-top:4px;color:var(--color-text-tertiary);font-size:10px;font-weight:700}.navList{display:grid;gap:6px}.navItem{display:flex;width:100%;height:42px;align-items:center;gap:10px;border:0;border-right:3px solid transparent;border-radius:8px 0 0 8px;color:var(--color-text-tertiary);background:transparent;padding:0 12px;text-align:left;cursor:pointer}.navItem:hover,.navItem.active{color:var(--color-text-primary);background:#47556959}.navItem.active{border-right-color:var(--color-text-secondary);background:#475569b8;font-weight:700}.sidebarFooter{position:absolute;right:14px;bottom:20px;left:14px;display:flex;align-items:center;gap:8px;color:var(--color-text-tertiary);font-size:12px}.mainArea{min-width:0}.topHeader{position:sticky;top:0;z-index:5;display:flex;height:var(--header-height);align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:#0f172af5;padding:0 32px;color:var(--color-text-tertiary);font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.statusDot{display:inline-block;width:8px;height:8px;margin-right:9px;border-radius:99px;background:var(--color-positive)}.headerActions{display:flex;gap:8px}.headerStatus{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headerActions button,.primaryButton{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface-elevated);cursor:pointer}.headerActions button{width:36px;height:36px;border-radius:8px}.headerActions button[aria-label=Logout]{width:auto;padding:0 12px;font-size:12px;font-weight:800}.content{padding:32px}.pageHeader{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--color-brand-green);font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:32px;line-height:1.15}.pageHeader p:last-child{margin-bottom:0;color:var(--color-text-tertiary);font-size:15px}.primaryButton{height:40px;gap:8px;border-radius:8px;padding:0 14px;font-weight:700}.kpiGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.kpiCard{display:flex;min-height:96px;align-items:center;justify-content:space-between;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:20px 22px}.kpiCard span{display:block;margin-bottom:8px;color:var(--color-text-tertiary);font-size:13px;font-weight:700}.kpiCard strong{font-size:30px;line-height:1}.kpiIcon{color:var(--color-text-tertiary)}.kpiCard.highlight{border-color:#facc15d9;background:linear-gradient(135deg,#facc1514,#1e293b);box-shadow:0 0 18px #facc1514}.kpiCard.highlight span,.kpiCard.highlight strong,.kpiCard.highlight .kpiIcon{color:var(--color-gold)}.collectionPanel{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--color-border);border-radius:8px;background:#11182794;padding:16px 20px;margin:-4px 0 24px}.collectionPanel>div:first-child span{display:block;margin-bottom:6px;color:var(--color-text-tertiary);font-size:12px;font-weight:800;text-transform:uppercase}.collectionPanel>div:first-child strong{color:var(--color-text-primary);font-size:18px}.collectionPanel dl{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:12px;margin:0}.collectionPanel dl div{border-left:1px solid rgba(71,85,105,.7);padding-left:12px}.collectionPanel dt{color:var(--color-text-tertiary);font-size:11px;font-weight:800;text-transform:uppercase}.collectionPanel dd{margin:5px 0 0;color:var(--color-text-secondary);font-size:18px;font-weight:900}.collectionPanel .collectionFailed dd{color:var(--color-negative)}.settingsPanel{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);gap:16px;margin-bottom:24px}.telegramBox,.alertBox,.loginPanel{border:1px solid var(--color-border);border-radius:8px;background:#1118279e}.telegramBox,.alertBox{display:flex;min-width:0;align-items:center;gap:12px;padding:14px}.telegramBox{flex-wrap:wrap}.telegramBox>div:first-child{min-width:150px}.telegramBox>div:first-child span,.telegramBox label span,.loginPanel label span{display:block;margin-bottom:6px;color:var(--color-text-tertiary);font-size:12px;font-weight:800}.telegramBox>div:first-child strong{color:var(--color-text-primary);font-size:16px}.telegramBox input,.loginPanel input{height:38px;width:100%;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);background:var(--color-surface-elevated);padding:0 10px;font:inherit}.telegramBox p,.alertBox p,.formError{width:100%;margin:0;color:var(--color-text-tertiary);font-size:12px;font-weight:700}.formError{color:#fca5a5}.alertBox{flex-wrap:wrap}.loginShell{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--color-bg)}.loginPanel{display:grid;width:min(420px,100%);gap:16px;padding:24px}.loginPanel .brand{padding:0 0 8px}.workspaceGrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.tablePanel,.detailPanel{border:1px solid var(--color-border);border-radius:8px;background:#1e293bc2;overflow:hidden}.tabBar{display:flex;height:56px;border-bottom:1px solid var(--color-border)}.tab{min-width:112px;border:0;border-bottom:2px solid transparent;color:var(--color-text-tertiary);background:transparent;font-weight:800;cursor:pointer}.tab:hover,.tab.active{color:var(--color-text-primary);background:#4755696b}.tab.active{border-bottom-color:var(--color-text-secondary)}.filterBar{display:flex;min-height:64px;align-items:center;gap:12px;border-bottom:1px solid var(--color-border);background:#0f172a57;padding:12px 14px}.segmentedControl{display:inline-flex;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-elevated)}.segment{height:36px;border:0;border-right:1px solid var(--color-border);color:var(--color-text-tertiary);background:transparent;padding:0 12px;font-size:13px;font-weight:800;cursor:pointer}.segment:last-child{border-right:0}.segment:hover,.segment.active{color:var(--color-text-primary);background:#4755697a}.selectField,.searchField,.toggleField{display:inline-flex;align-items:center;color:var(--color-text-tertiary);font-size:13px;font-weight:800}.selectField{gap:8px}.selectField select,.searchField input{height:36px;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);background:var(--color-surface-elevated);font:inherit}.selectField select{padding:0 30px 0 10px}.searchField{flex:1;min-width:180px;max-width:340px;gap:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-elevated);padding:0 10px}.searchField input{width:100%;border:0;outline:0;padding:0}.toggleField{height:36px;gap:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-elevated);padding:0 12px;cursor:pointer}.toggleField input{width:15px;height:15px;accent-color:var(--color-brand-green)}.tableWrap{overflow-x:auto}.mobileStockList,.bottomNav{display:none}table{width:100%;min-width:1050px;border-collapse:collapse}th{height:46px;border-bottom:1px solid var(--color-border);color:var(--color-text-tertiary);background:#1118279e;padding:0 14px;text-align:left;font-size:12px;font-weight:800}td{height:58px;border-bottom:1px solid rgba(51,65,85,.72);color:var(--color-text-secondary);padding:0 14px;font-size:14px;font-weight:650}tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#47556938}tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--color-brand-green)}.tableState{height:136px;color:var(--color-text-tertiary);text-align:center}.paginationBar{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--color-border);background:#11182780;padding:0 14px;color:var(--color-text-tertiary);font-size:13px;font-weight:800}.paginationBar>div{display:inline-flex;align-items:center;gap:10px}.paginationBar button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);background:var(--color-surface-elevated);cursor:pointer}.paginationBar button:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.62}.paginationBar strong{min-width:68px;color:var(--color-text-secondary);text-align:center}.numeric{text-align:right}.center{text-align:center}.stockName{color:var(--color-text-primary);font-weight:800;white-space:nowrap}.code{color:var(--color-text-tertiary);font-family:Inter,monospace}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}.reason{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--color-text-tertiary)}.scoreBadge{display:inline-flex;min-width:54px;height:28px;align-items:center;justify-content:center;border-radius:6px;font-size:12px;font-weight:900}.scoreBadge.high{border:1px solid rgba(250,204,21,.85);color:var(--color-gold);background:#facc151f;box-shadow:0 0 10px #facc1524}.scoreBadge.normal{border:1px solid rgba(148,163,184,.28);color:var(--color-text-secondary);background:#94a3b824}.riskPill{display:inline-flex;margin-left:8px;border:1px solid rgba(239,68,68,.3);border-radius:5px;color:#fca5a5;background:#ef44441f;padding:2px 5px;font-size:11px}.detailPanel{position:sticky;top:88px;padding:20px}.detailHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.detailHeader span{color:var(--color-text-tertiary);font-size:12px;font-weight:800}.detailHeader h2{margin:4px 0 0;font-size:24px}.scoreCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.miniScore{border:1px solid var(--color-border);border-radius:8px;background:#11182785;padding:10px}.miniScore span{display:block;margin-bottom:6px;color:var(--color-text-tertiary);font-size:11px;font-weight:800}.miniScore strong{font-size:18px}.chartBox{height:196px;border:1px solid var(--color-border);border-radius:8px;background:#0f172a7a;padding:8px;margin-bottom:16px}.breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.breakdown div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(51,65,85,.72);padding:7px 0}.breakdown span{color:var(--color-text-tertiary);font-size:12px}.breakdown strong{color:var(--color-text-secondary);font-size:12px}.evidence{border-top:1px solid var(--color-border);padding-top:14px;margin-top:14px}.evidence h3{margin-bottom:10px;font-size:14px}.evidence p{margin-bottom:8px;color:var(--color-text-secondary);font-size:13px;line-height:1.45}.emptyText{color:var(--color-text-disabled)}@media(max-width:1279px){.appShell{grid-template-columns:86px 1fr}.sidebar{padding-inline:10px}.brand div:last-child,.navItem span,.sidebarFooter span{display:none}.brand{justify-content:center;padding-inline:0}.navItem{justify-content:center;padding:0}.workspaceGrid{grid-template-columns:1fr}.filterBar{align-items:stretch;flex-wrap:wrap}.searchField{max-width:none}.collectionPanel{align-items:flex-start;flex-direction:column}.collectionPanel dl{width:100%}.settingsPanel{grid-template-columns:1fr}.detailPanel{position:static}}@media(max-width:1279px){.content{padding:24px}.kpiGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.collectionPanel dl{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:767px){:root{--header-height: 56px}.appShell{display:block;min-height:100vh}.sidebar,.desktopTable,.desktopDetail{display:none}.mainArea{width:100%}.topHeader{padding:0 14px;font-size:12px}.headerActions button{width:34px;height:34px}.content{padding:18px 14px 94px}.pageHeader{display:grid;gap:14px;margin-bottom:18px}.eyebrow{margin-bottom:6px;font-size:11px}h1{margin-bottom:7px;font-size:25px}.pageHeader p:last-child{font-size:13px;line-height:1.45}.primaryButton{width:100%;min-height:44px}.kpiGrid{grid-template-columns:1fr;gap:10px;margin-bottom:16px}.kpiCard{min-height:74px;padding:14px 16px}.kpiCard span{margin-bottom:6px;font-size:12px}.kpiCard strong{font-size:24px}.collectionPanel{display:grid;grid-template-columns:1fr;align-items:stretch;gap:14px;padding:14px;margin:0 0 16px}.collectionPanel>div:first-child strong{font-size:16px}.collectionPanel dl{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collectionPanel dl div{min-width:0;border-left:0;border-radius:8px;background:#0f172a6b;padding:10px}.collectionPanel dd{font-size:16px}.telegramBox,.alertBox{align-items:stretch;flex-direction:column}.telegramBox .primaryButton,.alertBox .primaryButton{width:100%}.workspaceGrid{display:block}.tablePanel{border-radius:8px}.tabBar{height:auto;min-height:52px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.tabBar::-webkit-scrollbar{display:none}.tab{min-width:96px;min-height:50px;padding:0 16px;flex:0 0 auto}.mobileStockList{display:grid;gap:10px;padding:12px}.mobileStockCard{overflow:hidden;border:1px solid rgba(51,65,85,.9);border-radius:8px;background:#0f172a6b}.mobileStockCard.selected{border-color:#22c55e94;background:#22c55e0f}.mobileStockButton{display:grid;width:100%;gap:11px;border:0;color:inherit;background:transparent;padding:14px;text-align:left;cursor:pointer}.mobileStockTop,.mobileStockMetrics{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobileStockTop strong{display:block;color:var(--color-text-primary);font-size:16px;font-weight:850;line-height:1.35}.mobileStockTop>div>span{display:block;margin-top:3px;color:var(--color-text-tertiary);font-size:12px;font-family:Inter,monospace}.mobileStockMetrics{align-items:center;color:var(--color-text-secondary);font-size:15px;font-weight:850}.mobileStockButton p{margin:0;overflow:hidden;color:var(--color-text-secondary);font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.mobileDetail{border-top:1px solid rgba(51,65,85,.86);padding:14px}.mobileDetail .detailHeader{display:none}.scoreCards{grid-template-columns:repeat(2,minmax(0,1fr))}.miniScore{padding:9px}.chartBox{height:166px;margin-bottom:14px}.breakdown{grid-template-columns:1fr;gap:4px}.evidence{padding-top:12px;margin-top:12px}.evidence p{font-size:12px}.bottomNav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:70px;border-top:1px solid var(--color-border);background:#111827fa;padding:7px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottomNavItem{display:grid;min-width:0;min-height:50px;place-items:center;gap:3px;border:0;border-radius:8px;color:var(--color-text-tertiary);background:transparent;font-size:11px;font-weight:800;cursor:pointer}.bottomNavItem.active{color:var(--color-text-primary);background:#475569b8}}@media(max-width:390px){.content{padding-inline:12px}.mobileStockList{padding:10px}.scoreBadge{min-width:50px}}
