:root{--shell-page-bg: #f4f7fb;--shell-surface: #ffffff;--shell-surface-subtle: #f8fafc;--shell-surface-strong: #0f172a;--shell-dock-bg: #0f172a;--shell-dock-text: #f8fafc;--shell-dock-muted: #cbd5e1;--shell-border: #d8e0ea;--shell-border-subtle: #e5eaf0;--shell-text: #14213d;--shell-heading: #0f172a;--shell-muted: #64748b;--shell-nav: #425466;--shell-accent: #0b3d91;--shell-accent-bg: #e7efff;--shell-accent-soft: #eef5ff;--shell-success: #065f46;--shell-success-bg: #d1fae5;--shell-danger: #991b1b;--shell-warning: #7c2d12;--home-up: #d92d20;--home-down: #2563eb;--home-accent: #0b3d91;color:var(--shell-text);background:var(--shell-page-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100vh;color:var(--shell-text);background:var(--shell-page-bg)}.app-shell[data-theme=dark]{--shell-page-bg: #0b1220;--shell-surface: #101828;--shell-surface-subtle: #182235;--shell-surface-strong: #e5edf8;--shell-dock-bg: #050b16;--shell-dock-text: #f8fafc;--shell-dock-muted: #cbd5e1;--shell-border: #334155;--shell-border-subtle: #263244;--shell-text: #e5edf8;--shell-heading: #f8fafc;--shell-muted: #b7c3d6;--shell-nav: #d6deeb;--shell-accent: #cfe2ff;--shell-accent-bg: #173765;--shell-accent-soft: #203b63;--shell-success: #9ff6c9;--shell-success-bg: #123b2f;--shell-danger: #ffb4b4;--shell-warning: #ffd3a5;--home-up: #ff9b8f;--home-down: #93c5fd;--home-accent: #9fc4ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.topbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(96px,148px) minmax(180px,320px) minmax(0,1fr) auto;align-items:center;gap:16px;min-height:64px;padding:0 24px;border-bottom:1px solid var(--shell-border);background:color-mix(in srgb,var(--shell-surface) 96%,transparent)}.brand{color:var(--shell-heading);font-size:20px;font-weight:800;text-decoration:none}.global-search{position:relative;display:flex;align-items:center;min-width:0}.global-search input{width:100%;min-height:38px;padding:8px 42px 8px 12px;border:1px solid var(--shell-border);border-radius:6px;color:var(--shell-text);background:var(--shell-surface-subtle);font-size:14px;font-weight:700}.global-search input::placeholder{color:var(--shell-muted)}.global-search input:focus{border-color:var(--shell-accent);outline:2px solid var(--shell-accent-bg);outline-offset:1px}.global-search kbd{position:absolute;right:8px;display:grid;place-items:center;min-width:24px;min-height:24px;border:1px solid var(--shell-border);border-radius:5px;color:var(--shell-muted);background:var(--shell-surface);font-size:12px;font-weight:900}.topnav{display:flex;gap:4px;min-width:0;overflow-x:auto}.topnav a,.session-chip a,.session-chip button,.theme-toggle,.dock-head button,.dock-tabs button,.text-link,.tool-buttons button,form button,.danger-button{min-height:36px;border-radius:6px;border:1px solid transparent;text-decoration:none}.topnav a{padding:8px 12px;color:var(--shell-nav);font-size:14px;font-weight:700;white-space:nowrap}.topnav a[aria-current=page]{color:var(--shell-accent);background:var(--shell-accent-bg)}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.session-chip{display:flex;align-items:center;gap:8px;max-width:280px}.session-chip a,.session-chip button,.theme-toggle{padding:7px 10px;color:var(--shell-accent);background:var(--shell-accent-soft);font-size:14px;font-weight:700}.session-chip button,.theme-toggle,.dock-head button,.dock-tabs button,.danger-button,form button,.tool-buttons button{cursor:pointer}.top-market-pill,.top-clock{display:inline-flex;align-items:center;min-height:32px;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:900;white-space:nowrap}.top-market-pill{gap:7px;color:var(--shell-nav);background:var(--shell-accent-soft)}.top-market-pill.open{color:var(--shell-success);background:var(--shell-success-bg)}.top-market-pill.closed{color:var(--shell-nav);background:var(--shell-accent-soft)}.top-market-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.top-clock{color:var(--shell-muted);background:var(--shell-surface-subtle)}.news-ticker-bar{position:sticky;top:64px;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:38px;padding:6px 24px;border-bottom:1px solid var(--shell-border);background:color-mix(in srgb,var(--shell-surface-subtle) 98%,transparent)}.news-ticker-label{color:var(--shell-heading);font-size:12px;font-weight:900;white-space:nowrap}.news-ticker-track{display:flex;align-items:center;gap:18px;min-width:0;overflow:hidden}.news-ticker-item{display:inline-flex;align-items:center;flex:0 0 auto;gap:7px;max-width:min(560px,70vw);min-width:0;color:var(--shell-nav);font-size:13px;font-weight:800}.news-ticker-item time{color:var(--shell-muted);font-size:12px;font-weight:800;white-space:nowrap}.news-ticker-item strong{min-width:0;color:var(--shell-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-market-tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border-radius:6px;font-size:12px;font-weight:900;white-space:nowrap}.news-market-tag.kospi{color:#075985;background:#e0f2fe}.news-market-tag.kosdaq{color:#166534;background:#dcfce7}.news-market-tag.economy{color:#7c2d12;background:#ffedd5}.news-ticker-empty,.news-ticker-error{color:var(--shell-muted);font-size:12px;font-weight:800;white-space:nowrap}.news-ticker-error{color:var(--shell-danger)}.shell-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);min-height:calc(100vh - 102px)}.shell-grid.is-dock-collapsed{grid-template-columns:minmax(0,1fr) 56px}.rail,.shell-dock{padding:24px 16px;border-left:1px solid var(--shell-border);background:var(--shell-dock-bg);color:var(--shell-dock-text)}.shell-dock[data-dock-collapsed=true]{padding:16px 8px}.rail-item,.dock-section{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14)}.rail-item.compact{gap:4px;padding:10px 0}.rail-kicker,.eyebrow{color:var(--shell-muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.rail .rail-kicker{color:#93c5fd}.dock-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.14)}.dock-head button,.dock-tabs button{border-color:#ffffff2e;color:#f8fafc;background:#ffffff14;font-size:12px;font-weight:900}.dock-head button{min-height:30px;padding:4px 7px}.dock-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0}.dock-tabs button{flex:1 1 auto;min-height:32px;padding:5px 7px}.dock-tabs button[aria-selected=true]{color:#0b1220;background:#dbeafe}.dock-panel{min-width:0}.dock-section{border-bottom:0}.dock-section strong,.dock-news-item strong{color:var(--shell-dock-text)}.dock-section span,.dock-news-item span{color:var(--shell-dock-muted)}.dock-news-item{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14)}.dock-news-item:last-child{border-bottom:0}.shell-dock[data-dock-collapsed=true] .dock-head{justify-content:center}.shell-dock[data-dock-collapsed=true] .dock-head strong,.shell-dock[data-dock-collapsed=true] .dock-tabs,.shell-dock[data-dock-collapsed=true] .dock-panel{display:none}.content{min-width:0;padding:28px}.market-status-bar{position:sticky;bottom:0;z-index:3;display:grid;gap:4px;padding:10px 24px;border-top:1px solid var(--shell-border);background:color-mix(in srgb,var(--shell-surface) 98%,transparent);box-shadow:0 -8px 24px #0f172a14}.market-status-row,.market-status-markets,.market-status-item,.market-status-disclosure{display:flex;align-items:center}.market-status-row{gap:16px;min-width:0}.market-status-markets{flex:1;flex-wrap:wrap;gap:10px;min-width:0}.market-session{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border-radius:6px;color:var(--shell-nav);background:var(--shell-accent-soft);font-size:12px;font-weight:900;white-space:nowrap}.market-session.open{color:var(--shell-success);background:var(--shell-success-bg)}.market-session.closed{color:var(--shell-nav);background:var(--shell-accent-soft)}.market-status-item{flex-wrap:wrap;gap:6px;color:var(--shell-nav);font-size:13px;font-weight:700}.market-status-item strong{color:var(--shell-heading);font-size:13px;font-weight:900}.market-status-disclosure{flex-wrap:wrap;gap:8px;margin:0;color:var(--shell-muted);font-size:11px;font-weight:700}.market-status-error{margin:0;color:var(--shell-danger);font-size:12px;font-weight:800}.page-head{display:grid;gap:4px;margin-bottom:20px}.page-head h1,.workspace-toolbar h1,.auth-panel h1{margin:0;color:#0f172a;font-size:28px;line-height:1.2}.page-head p,.auth-panel p{margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.build-dashboard{display:grid;gap:18px}.build-panel{display:grid;gap:14px}.stream-stale-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:10px 12px;border:1px solid #f2c46d;border-radius:8px;color:#684100;background:#fff7df;font-weight:700}.stream-stale-banner strong{color:#342100}.stream-stale-banner span{color:#7c5a15;font-size:13px}.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.agent-card,.merged-item,.human-item{border:1px solid #d8e0ea;border-radius:8px;background:#fff}.agent-card,.human-item{padding:14px}.agent-card-head,.human-item-head,.merged-toggle,.compact-metrics div{display:flex;align-items:center;justify-content:space-between;gap:12px}.agent-card h3,.human-item h3{margin:10px 0 4px;color:#0f172a;font-size:18px}.agent-title,.human-reason,.merged-summary,.merged-description,.reply-status,.latest-reply{margin:0}.agent-title,.dashboard-empty,.merged-summary,.merged-description,.latest-reply{color:#64748b}.role-pill{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border-radius:6px;color:#0b3d91;background:#e7efff;font-size:12px;font-weight:900;text-transform:uppercase}.role-pill.warning{color:#7f1d1d;background:#fee2e2}.elapsed-time,.merged-time{color:#64748b;font-size:13px;font-weight:800;white-space:nowrap}.compact-metrics{display:grid;gap:8px;margin:12px 0 0;font-size:14px}.compact-metrics dt{color:#64748b}.compact-metrics dd{min-width:0;margin:0;color:#0f172a;font-weight:800;text-align:right;overflow-wrap:anywhere}.merged-feed,.needs-human-list{display:grid;gap:10px}.merged-feed{max-height:520px;overflow-y:auto;padding-right:4px}.merged-item{padding:0}.merged-toggle{width:100%;min-height:52px;padding:12px 14px;border:0;border-radius:8px 8px 0 0;color:inherit;background:#f8fafc;cursor:pointer;text-align:left}.merged-main{display:grid;gap:2px;min-width:0}.merged-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merged-summary,.merged-description{padding:10px 14px}.merged-description{border-top:1px solid #e5eaf0;color:#334155;white-space:pre-wrap}.diff-link{margin:0 14px 12px}.human-item{display:grid;gap:12px}.human-reason{color:#334155;font-weight:700}.suggestion-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.suggestion-buttons button{min-height:36px;padding:7px 10px;color:#0b3d91;border:1px solid #bfd3f7;border-radius:6px;background:#eef5ff;font-weight:800}.free-text-reply{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:0}.free-text-reply label{min-width:0}.free-text-reply button{min-height:42px}.reply-status{color:#05603a;font-weight:800}.reply-status.error{color:#a11212}.latest-reply{padding:10px 12px;border:1px solid #d8e0ea;border-radius:6px;background:#f8fafc;font-weight:700}.dashboard-empty{display:grid;place-items:center;min-height:96px;font-weight:800}.status-page{display:grid;gap:18px}.status-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:18px;align-items:center;padding:20px;border:1px solid #b7dfc4;border-radius:8px;background:#f0fdf4}.status-banner h2,.status-banner p{margin:8px 0 0}.status-banner h2{color:#0f172a;font-size:24px}.status-banner p,.status-row span{color:#64748b;font-weight:700}.status-metrics{display:grid;gap:10px;margin:0}.status-metrics div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(5,96,58,.18)}.status-metrics dt{color:#166534;font-weight:800}.status-metrics dd{margin:0;color:#0f172a;font-weight:900}.status-grid{display:grid;gap:10px}.status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border:1px solid #e5eaf0;border-radius:8px;background:#fff}.status-row div{display:grid;gap:2px;min-width:0}.status-row strong{color:#0f172a}.panel,.auth-panel{border:1px solid #d8e0ea;border-radius:8px;background:#fff}.panel{padding:18px}.panel-head,.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{margin:0;font-size:18px}.text-link{display:inline-flex;align-items:center;padding:7px 10px;color:#0b3d91;background:#eef5ff;font-size:14px;font-weight:700}.home-dashboard{display:grid;gap:18px}.home-market-grid{display:grid;grid-template-columns:300px minmax(0,1fr) minmax(0,1fr) 280px;gap:14px;align-items:stretch}.home-kospi-card,.home-calendar-card,.home-preview-panel,.home-ranking-panel{min-width:0}.home-kospi-card{display:grid;gap:14px}.home-card-head,.home-preview-head,.home-ai-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.home-card-head h1{margin:4px 0 0;color:var(--shell-heading);font-size:24px;line-height:1.12}.home-kicker,.home-calendar-event span,.home-preview-caption,.home-ai-title span,.home-symbol-name small{color:var(--shell-muted);font-size:12px;font-weight:800}.home-kospi-spark,.home-mini-spark{width:100%;overflow:visible}.home-kospi-spark{min-height:78px}.home-mini-spark{min-height:38px}.spark-line,.spark-area,.candle-wick,.candle-body,.chart-grid{vector-effect:non-scaling-stroke}.spark-line{fill:none;stroke:var(--shell-accent);stroke-width:2}.spark-area{fill:color-mix(in srgb,var(--shell-accent) 18%,transparent)}.home-mini-spark.up .spark-line,.home-kospi-spark.up .spark-line{stroke:var(--home-up)}.home-mini-spark.down .spark-line,.home-kospi-spark.down .spark-line{stroke:var(--home-down)}.home-mini-spark.up .spark-area,.home-kospi-spark.up .spark-area{fill:color-mix(in srgb,var(--home-up) 18%,transparent)}.home-mini-spark.down .spark-area,.home-kospi-spark.down .spark-area{fill:color-mix(in srgb,var(--home-down) 18%,transparent)}.home-kospi-breadth,.home-ai-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.home-kospi-breadth div,.home-ai-metrics div{display:grid;gap:2px;min-width:0}.home-kospi-breadth dt,.home-ai-metrics dt{color:var(--shell-muted);font-size:12px;font-weight:800}.home-kospi-breadth dd,.home-ai-metrics dd{margin:0;color:var(--shell-heading);font-weight:900;overflow-wrap:anywhere}.home-flow-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-flow-pill{display:grid;gap:2px;min-width:0;padding:8px;border:1px solid var(--shell-border-subtle);border-radius:6px;background:var(--shell-surface-subtle)}.home-flow-pill span{color:var(--shell-muted);font-size:12px;font-weight:800}.home-flow-pill strong{color:var(--shell-heading);font-size:12px;overflow-wrap:anywhere}.home-spark-grid{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.home-spark-card{display:grid;grid-template-columns:minmax(96px,1fr) minmax(90px,130px) minmax(86px,1fr);align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--shell-border);border-radius:8px;background:var(--shell-surface)}.home-spark-card div,.home-spark-card p{display:grid;gap:2px;min-width:0;margin:0}.home-spark-card strong,.home-spark-card p span:first-child{color:var(--shell-heading);font-weight:900;overflow-wrap:anywhere}.home-spark-card span{color:var(--shell-muted);font-size:12px;font-weight:800}.home-calendar-card{display:grid;align-content:start}.home-calendar-list{display:grid;gap:10px}.home-calendar-event{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding-bottom:10px;border-bottom:1px solid var(--shell-border-subtle)}.home-calendar-event div{display:grid;gap:1px;min-width:0}.home-calendar-event strong{color:var(--shell-heading);font-size:13px;overflow-wrap:anywhere}.home-calendar-event time{color:var(--shell-muted);font-size:12px;font-weight:900;white-space:nowrap}.calendar-dot{width:8px;height:8px;border-radius:999px;background:var(--shell-muted)}.calendar-dot.ok{background:var(--shell-success)}.calendar-dot.warn{background:#f59e0b}.home-rank-preview{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.home-ranking-filters{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}.chip-row{display:inline-flex;flex-wrap:wrap;gap:6px}.home-chip,.inline-retry{min-height:32px;border:1px solid var(--shell-border);border-radius:6px;color:var(--shell-nav);background:var(--shell-surface-subtle);font-size:13px;font-weight:900;cursor:pointer}.home-chip{padding:5px 10px}.home-chip.active,.inline-retry{color:var(--shell-accent);border-color:color-mix(in srgb,var(--shell-accent) 35%,var(--shell-border));background:var(--shell-accent-soft)}.inline-retry{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:5px 10px}.home-ranking-table{display:grid;min-width:0;overflow-x:auto}.home-ranking-head,.home-ranking-row{display:grid;grid-template-columns:26px 30px 30px minmax(160px,1fr) 110px 90px 110px 130px;align-items:center;gap:0;min-width:686px}.home-ranking-head{padding:0 10px 8px;color:var(--shell-muted);font-size:12px;font-weight:900;text-align:left}.home-ranking-row{width:100%;min-height:58px;padding:8px 10px;border:0;border-bottom:1px solid var(--shell-border-subtle);color:var(--shell-text);background:transparent;text-align:left;cursor:pointer}.home-ranking-row:hover,.home-ranking-row.selected{background:var(--shell-surface-subtle)}.home-ranking-row.selected{box-shadow:inset 2px 0 0 var(--home-accent)}.home-watch,.home-rank-number{color:var(--shell-muted);font-size:13px;font-weight:900}.home-symbol-avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;color:#fff;background:var(--shell-accent);font-size:12px;font-weight:900}.home-symbol-name{display:grid;gap:1px;min-width:0}.home-symbol-name strong{color:var(--shell-heading);overflow-wrap:anywhere}.number{justify-self:end;font-variant-numeric:tabular-nums;font-weight:900;white-space:nowrap}.up{color:var(--home-up)!important}.down{color:var(--home-down)!important}.muted{color:var(--shell-muted)!important}.trade-ratio{display:grid;gap:4px;min-width:0}.trade-ratio-track{display:flex;width:100%;height:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--home-up) 18%,var(--shell-border-subtle))}.trade-ratio-buy{display:block;height:100%;background:var(--home-down)}.trade-ratio-sell{flex:1;background:var(--home-up)}.trade-ratio-label{display:flex;justify-content:space-between;color:var(--shell-muted);font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}.trade-ratio-label span:first-child{color:var(--home-down)}.trade-ratio-label span:last-child{color:var(--home-up)}.home-preview-panel{position:sticky;top:88px;display:grid;gap:14px}.home-preview-head{justify-content:flex-start}.home-preview-head div{display:grid;gap:2px;min-width:0}.home-preview-head strong{color:var(--shell-heading);font-size:18px}.home-preview-chart{width:100%;min-height:150px}.chart-grid{stroke:color-mix(in srgb,var(--shell-muted) 22%,transparent);stroke-width:1}.candle-wick{stroke-width:1.25}.candle-body.up,.candle-wick.up{fill:var(--home-up);stroke:var(--home-up)}.candle-body.down,.candle-wick.down{fill:var(--home-down);stroke:var(--home-down)}.home-preview-caption{margin:-4px 0 0}.home-ai-card{display:grid;gap:12px;padding:14px;border:1px solid var(--shell-border-subtle);border-radius:8px;background:var(--shell-surface-subtle)}.home-ai-title strong{color:var(--shell-heading);font-size:16px}.home-ai-card p,.home-ai-card small{margin:0;color:var(--shell-text);font-weight:700}.home-ai-card small{color:var(--shell-muted);font-size:12px}.home-skeleton{display:block;min-height:14px;border-radius:999px;background:linear-gradient(90deg,var(--shell-border-subtle),var(--shell-surface-subtle),var(--shell-border-subtle));background-size:200% 100%;animation:home-skeleton 1.15s linear infinite}.home-skeleton.avatar{width:24px;height:24px}.home-skeleton.text{width:min(100%,120px)}.home-skeleton.text.short{width:74px}.home-skeleton.calendar-line{width:100%;min-height:40px;border-radius:6px}.skeleton-row{cursor:wait}.home-ranking-error{display:grid;justify-items:start}@keyframes home-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.market-table{width:100%;border-collapse:collapse;font-size:14px}.market-table th,.market-table td,.peer-table th,.peer-table td,.supply-flow-table th,.supply-flow-table td,.calendar-table th,.calendar-table td{padding:12px 10px;border-bottom:1px solid #e5eaf0;text-align:left}.market-table th,.peer-table th,.supply-flow-table th,.calendar-table th{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.markets-layout{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:18px;align-items:start}.fundamentals-layout{display:grid;gap:18px}.peer-panel,.sentiment-panel{min-width:0}.peer-comparison-form,.sentiment-valuation-form,.advisor-report-form{grid-template-columns:110px minmax(120px,1fr) auto;align-items:end;gap:10px;margin-top:0;margin-bottom:16px}.advisor-layout,.advisor-report-panel{display:grid;gap:18px}.advisor-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.advisor-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.advisor-summary div{display:grid;gap:4px;min-width:0;padding:10px 0;border-top:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0}.advisor-summary dt,.advisor-inputs dt,.advisor-disclaimers strong,.advisor-missing{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.advisor-summary dd{margin:0;color:#0f172a;font-size:20px;font-weight:900;overflow-wrap:anywhere}.advisor-rationale h2,.advisor-inputs h2,.advisor-disclaimers h2{margin:0 0 8px;color:#0f172a;font-size:16px}.advisor-rationale p,.advisor-missing{margin:0}.advisor-rationale p{color:#334155;font-weight:700}.advisor-disclaimers ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.advisor-disclaimers li{display:grid;gap:2px;padding-top:10px;border-top:1px solid #e5eaf0}.advisor-disclaimers span{color:#334155;font-weight:700}.peer-table-wrap{overflow-x:auto}.peer-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.peer-table tr.peer-target{background:#f8fafc}.peer-name{display:block;color:#64748b;font-size:13px;font-weight:700}.peer-metric{display:grid;gap:2px}.peer-metric strong{color:#0f172a}.peer-metric span,.metric-empty{color:#64748b;font-size:12px;font-weight:800}.valuation-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.valuation-card{display:grid;gap:14px;padding:14px;border:1px solid #e5eaf0;border-radius:8px;background:#fff}.valuation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.valuation-card-head h3{margin:8px 0 0;color:#0f172a;font-size:24px;line-height:1.1}.valuation-percentile{display:inline-grid;place-items:center;min-width:58px;min-height:34px;padding:4px 8px;border-radius:6px;color:#7f1d1d;background:#fee2e2;font-size:15px;font-weight:900;white-space:nowrap}.valuation-band{display:grid;gap:8px}.valuation-track{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,#dbeafe,#e0f2fe 40%,#fef9c3,#fee2e2)}.valuation-tick,.valuation-marker{position:absolute;left:50%}.valuation-tick{top:-3px;width:2px;height:20px;background:#0f172a66;transform:translate(-50%)}.valuation-tick.p50{width:3px;background:#0f172a}.valuation-marker{top:50%;width:16px;height:16px;border:2px solid #ffffff;border-radius:999px;background:#0b3d91;box-shadow:0 2px 7px #0f172a3d;transform:translate(-50%,-50%)}.valuation-scale,.valuation-band-metrics{color:#64748b;font-size:12px;font-weight:800}.valuation-scale{display:flex;justify-content:space-between;gap:8px}.valuation-band-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.valuation-band-metrics div{display:grid;gap:2px;min-width:0}.valuation-band-metrics dd{margin:0;color:#0f172a;font-size:13px;overflow-wrap:anywhere}.state-pill{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border-radius:6px;color:#05603a;background:#dcfae6;font-weight:800}.metric-list{display:grid;gap:10px;margin:0}.metric-list div{display:flex;justify-content:space-between;gap:16px}.metric-list dt{color:#64748b}.metric-list dd{margin:0;font-weight:800}.calendar-filter{margin-bottom:16px}.calendar-form{display:grid;grid-template-columns:minmax(140px,1fr) 160px 160px auto;gap:12px;align-items:end;margin-top:0}.calendar-form button{min-height:42px;padding:9px 14px}.calendar-table{width:100%;border-collapse:collapse;font-size:14px}.result-count{display:inline-grid;place-items:center;min-width:34px;min-height:28px;padding:2px 8px;border-radius:999px;color:#365314;background:#ecfccb;font-size:13px;font-weight:900}.event-kind{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border-radius:6px;color:#7f1d1d;background:#fee2e2;font-weight:800;white-space:nowrap}.event-title,.event-company{display:block}.event-title{color:#0f172a;font-weight:800}.event-company,.calendar-empty{color:#64748b}.calendar-empty{display:grid;place-items:center;min-height:160px;font-weight:800}.watchlist-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px;align-items:start}.watchlist-search-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:0}.symbol-results,.watchlist-rows{display:grid;gap:10px}.symbol-results{margin-top:14px}.symbol-result,.watchlist-row{display:grid;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid #e5eaf0;border-radius:8px;background:#fff}.symbol-result{grid-template-columns:minmax(0,1fr) auto auto}.symbol-result form{margin-top:0}.symbol-main{display:grid;gap:2px;min-width:0}.symbol-main strong,.symbol-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symbol-main strong{color:#0f172a}.symbol-main span{color:#64748b;font-size:13px;font-weight:700}.watchlist-row{grid-template-columns:34px minmax(0,1fr) auto auto}.watchlist-position{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;color:#0b3d91;background:#eef5ff;font-size:13px;font-weight:900}.watchlist-actions{display:flex;gap:6px}.watchlist-actions button{min-width:34px;min-height:34px;padding:6px 9px;border:1px solid #bfd3f7;border-radius:6px;color:#0b3d91;background:#fff;font-weight:900;cursor:pointer}.watchlist-actions button:disabled{cursor:not-allowed;opacity:.45}.screener-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:18px;align-items:start}.screener-curation-panel,.screener-results-panel,.screener-watchlist-rail{min-width:0}.screener-source,.screener-empty-note{color:#64748b;font-size:13px;font-weight:700}.screener-curation-list,.screener-saved-list,.screener-watchlist-items{display:grid;gap:10px}.screener-curation-card,.screener-saved-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;min-height:68px;padding:10px 12px;border:1px solid #e5eaf0;border-radius:8px;color:#14213d;background:#fff;text-align:left;cursor:pointer}.screener-curation-card.selected,.screener-saved-card.selected{border-color:#0b3d91;background:#eef5ff}.screener-curation-card span,.screener-saved-card{min-width:0}.screener-curation-card strong,.screener-curation-card small,.screener-saved-card strong,.screener-saved-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screener-curation-card strong,.screener-saved-card strong{color:#0f172a}.screener-curation-card small,.screener-saved-card small{color:#64748b;font-size:12px;font-weight:700}.screener-curation-card em{align-self:start;padding:3px 7px;border-radius:999px;color:#7c2d12;background:#ffedd5;font-size:11px;font-style:normal;font-weight:900}.screener-made-section{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e5eaf0}.screener-made-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.screener-filter-bar{display:grid;grid-template-columns:40px minmax(150px,220px) minmax(0,1fr);gap:10px;align-items:end;margin-bottom:14px}.screener-filter-add{min-width:40px;min-height:40px;border:1px solid #bfd3f7;border-radius:6px;color:#0b3d91;background:#fff;font-weight:900}.screener-filter-bar label{display:grid;gap:5px;color:#64748b;font-size:12px;font-weight:800}.screener-filter-bar select{min-height:40px;border:1px solid #d8e0ea;border-radius:6px;color:#14213d;background:#fff;font:inherit;font-weight:700}.screener-condition-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.screener-condition-chip{display:inline-flex;min-height:40px;border:1px solid #0b3d91;border-radius:999px;overflow:hidden;background:#eef5ff}.screener-condition-chip button{min-height:38px;border:0;border-radius:0;color:#0b3d91;background:transparent;font-size:13px;font-weight:800}.screener-condition-chip button:first-child{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screener-table-wrap{overflow-x:auto}.screener-table{width:100%;min-width:820px;border-collapse:collapse;font-size:14px}.screener-table th,.screener-table td{padding:12px 10px;border-bottom:1px solid #e5eaf0;text-align:left;vertical-align:middle}.screener-table th{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.screener-sort-button{min-height:30px;padding:3px 0;border:0;color:#64748b;background:transparent;font-size:12px;font-weight:900;text-transform:uppercase;cursor:pointer}.screener-sort-button.active{color:#0b3d91}.screener-heart{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8e0ea;border-radius:999px;color:#991b1b;background:#fff;font-weight:900}.screener-change{display:grid;gap:2px;font-weight:800}.screener-change span{color:#64748b;font-size:12px}.screener-change.up strong{color:#991b1b}.screener-change.down strong{color:#0b3d91}.screener-empty-state{display:grid;place-items:center;gap:12px;min-height:220px;color:#64748b;font-weight:800}.screener-empty-state strong{color:#0f172a;font-size:18px}.screener-empty-state form{margin:0}.screener-watchlist-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 0;border-bottom:1px solid #e5eaf0}.orders-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px;align-items:start}.order-ticket-panel{grid-row:span 2}.order-ticket-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}.order-ticket-form label:first-child{grid-column:1 / -1}.order-ticket-form button{grid-column:1 / -1;min-height:42px}.order-ack,.order-metrics,.portfolio-summary{margin:0}.order-ack{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e5eaf0}.order-ack div,.order-metrics div{display:flex;justify-content:space-between;gap:12px}.order-ack dt,.order-metrics dt{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.order-ack dd,.order-metrics dd{margin:0;color:#0f172a;font-weight:900;text-align:right}.order-rows,.portfolio-rows{display:grid;gap:10px}.order-row,.portfolio-row{display:grid;gap:12px;padding:12px;border:1px solid #e5eaf0;border-radius:8px;background:#fff}.order-row{grid-template-columns:minmax(0,1fr) auto}.portfolio-row{grid-template-columns:minmax(0,1fr) minmax(160px,220px);align-items:center}.order-metrics,.execution-progress{grid-column:1 / -1}.portfolio-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.portfolio-summary div{min-width:0;padding:10px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc}.portfolio-summary dt{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.portfolio-summary dd{margin:4px 0 0;color:#0f172a;font-weight:900}.profit-up{color:#dc2626!important}.profit-down{color:#2563eb!important}.allocation-breakdown{display:grid;gap:8px;margin-bottom:12px}.allocation-bar{display:flex;width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e5eaf0}.allocation-bar span{min-width:2px}.allocation-legend{display:flex;flex-wrap:wrap;gap:8px 12px;color:#64748b;font-size:12px;font-weight:800}.allocation-legend span{display:inline-flex;gap:6px;align-items:center}.allocation-legend i{display:inline-block;width:8px;height:8px;border-radius:999px}.portfolio-stream-status{margin:0 0 12px;color:#92400e;font-size:13px;font-weight:800}.order-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.portfolio-row .order-metrics{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.execution-progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.execution-progress span{display:block;height:100%;border-radius:inherit;background:#0b3d91}.state-pill.danger{color:#991b1b;background:#fee2e2}.backtest-run-form{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start}.backtest-run-form>.panel{min-width:0}.backtest-field-grid,.strategy-param-grid,.backtest-launch-summary{display:grid;gap:10px}.backtest-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-field-grid label:first-child,.backtest-field-grid label:nth-child(2){grid-column:span 1}.strategy-param-section{display:grid;gap:10px;margin-top:14px}.strategy-param-section h3{margin:0;color:#64748b;font-size:13px;font-weight:900;text-transform:uppercase}.strategy-param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-strategy-summary{display:grid;gap:2px;margin-top:12px;padding:12px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc}.backtest-strategy-summary strong{color:#0f172a;font-size:16px}.backtest-strategy-summary span,.backtest-strategy-summary p{margin:0;color:#64748b;font-size:13px;font-weight:700}.checkbox-field{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px}.checkbox-field input[type=checkbox]{width:18px;height:18px}.checkbox-field .field-error{grid-column:1 / -1}.backtest-launch-summary{margin:0 0 14px}.backtest-launch-summary div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5eaf0}.backtest-launch-summary dt{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.backtest-launch-summary dd{min-width:0;margin:0;color:#0f172a;font-weight:900;text-align:right;overflow-wrap:anywhere}.backtest-launch-panel button[type=submit]{width:100%;min-height:42px}.backtest-preset-name{display:grid;gap:6px;margin-bottom:10px}.backtest-validation-list{margin-bottom:12px}.backtest-launch-result{display:grid;gap:2px;margin-top:14px;padding:12px;border:1px solid #b7dfc4;border-radius:8px;color:#166534;background:#f0fdf4;font-weight:800;overflow-wrap:anywhere}.backtest-launch-result strong{color:#0f172a}.backtest-result-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.backtest-result-links a{padding:4px 8px;border:1px solid #b7dfc4;border-radius:6px;color:#166534;background:#fff;text-decoration:none}.backtest-presets-panel,.backtest-compare-panel{margin-top:18px}.backtest-preset-list,.backtest-run-select-list,.backtest-comparison-result,.backtest-comparison-card,.backtest-comparison-ledger{display:grid;gap:12px}.backtest-preset-card,.backtest-run-select{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc}.backtest-preset-card>div,.backtest-run-select span{display:grid;gap:2px;min-width:0}.backtest-preset-card span,.backtest-run-select small,.backtest-run-select>span:last-child{color:#64748b;font-size:13px;font-weight:700}.backtest-run-select{grid-template-columns:20px minmax(0,1fr) auto}.backtest-run-select input{width:18px;height:18px}.backtest-run-select a{color:#0b3d91;font-size:13px;font-weight:800}.backtest-comparison-metrics,.backtest-comparison-ledger{overflow-x:auto}.backtest-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.backtest-comparison-card{min-width:0;padding:12px;border:1px solid #e5eaf0;border-radius:8px;background:#fff}.backtest-result-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}.backtest-result-head .eyebrow,.backtest-result-head h1,.backtest-result-head p{grid-column:1}.backtest-result-head .text-link{grid-column:2;grid-row:1 / span 3;align-self:center}.backtest-results-layout{display:grid;gap:18px}.backtest-result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.backtest-result-metrics div,.backtest-benchmark-card{min-width:0;padding:12px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc}.backtest-result-metrics dt{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.backtest-result-metrics dd{margin:4px 0 0;color:#0f172a;font-size:20px;font-weight:900;overflow-wrap:anywhere}.backtest-result-chart{display:grid;gap:12px}.backtest-chart-pane{min-height:160px;border:1px solid #e5eaf0;border-radius:8px;overflow:hidden}.backtest-benchmark-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.backtest-benchmark-card{display:grid;gap:12px}.backtest-ledger-table-wrap{overflow-x:auto}.backtest-ledger-table{min-width:860px}.strategy-builder-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:start}.builder-main,.builder-side,.builder-palette-panel,.builder-palette-list{display:grid;gap:14px}.builder-action-head{margin-top:10px}.builder-palette-item{display:grid;gap:2px;width:100%;min-height:48px;padding:9px 10px;border:1px solid #d8e0ea;border-radius:6px;color:#0f172a;background:#f8fafc;text-align:left;cursor:grab}.builder-palette-item span,.builder-node strong{font-weight:900}.builder-palette-item small,.builder-node span,.field-error{color:#64748b;font-size:12px}.builder-metadata-form,.builder-node-form,.builder-wire-form,.builder-load-form,.builder-backtest-form{display:grid;gap:10px}.builder-metadata-form{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) 110px}.builder-backtest-form{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-backtest-form button,.builder-save-form button,.builder-load-form button,.builder-wire-form button{min-height:40px}.builder-canvas{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.8fr) minmax(160px,1fr);gap:12px;min-height:420px}.builder-lane,.builder-wire-lane{display:grid;align-content:start;gap:10px;min-width:0;padding:12px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc}.builder-lane h3{margin:0;color:#64748b;font-size:13px;text-transform:uppercase}.builder-node{position:relative;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.builder-node.selected{border-color:#0b3d91;box-shadow:0 0 0 2px #0b3d911f}.builder-node.has-error{border-color:#dc2626}.builder-node button:first-child{display:grid;gap:2px;width:100%;min-height:64px;padding:12px 38px 12px 12px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.builder-node-remove,.connector-wire button{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #fecaca;border-radius:6px;color:#991b1b;background:#fff1f2;font-weight:900}.builder-node-remove{position:absolute;top:8px;right:8px}.connector-wire{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:10px;border:1px solid #d8e0ea;border-radius:8px;background:#fff;text-align:center;overflow-wrap:anywhere}.connector-wire strong{color:#0b3d91;font-size:12px;text-transform:uppercase}.connector-wire button{justify-self:center}.builder-empty{display:grid;place-items:center;min-height:72px;color:#64748b;font-weight:800}.state-pill.success{color:#05603a;background:#dcfae6}.state-pill.warning{color:#7f1d1d;background:#fee2e2}.builder-validation-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.builder-validation-list li{display:grid;gap:3px;padding:10px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7}.builder-validation-list span{color:#64748b}.field-error{display:block;margin-top:4px;color:#b42318;font-weight:800}.builder-save-form{margin-bottom:10px}.builder-backtest-result{margin-top:12px}.workspace{display:grid;gap:16px;height:calc(100vh - 120px);min-height:620px}.workspace-main{display:grid;grid-template-rows:minmax(360px,1fr) auto;gap:16px;min-height:0}.tool-buttons{display:flex;gap:8px}.tool-buttons button{width:44px;color:#0b3d91;border-color:#bfd3f7;background:#fff;font-weight:800}.tool-buttons button[aria-pressed=true]{color:#fff;border-color:#0b3d91;background:#0b3d91}.chart-stage{display:grid;min-height:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;overflow:hidden}.chart-empty{place-self:center;color:#64748b;font-weight:700}.supply-flow-panel{min-width:0}.trading-status-stack{display:grid;gap:12px;min-width:0;min-height:0}.broker-member-panel{min-width:0}.broker-member-groups{display:grid;gap:12px}.broker-member-side{display:grid;gap:8px}.broker-member-side h3{margin:0;color:#334155;font-size:13px;font-weight:900}.broker-member-row{display:grid;grid-template-columns:24px minmax(80px,1fr) minmax(86px,auto);gap:8px;align-items:center;min-height:34px;position:relative;overflow:hidden;border:1px solid #e2e8f0;border-radius:6px;padding:7px 8px;background:#fff;font-size:13px}.broker-member-row>*{position:relative;z-index:1}.broker-member-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broker-member-row span:last-of-type{color:#475569;font-size:12px;font-weight:800;text-align:right}.broker-member-row i{position:absolute;inset:0 auto 0 0;width:var(--bar-value);background:#dbeafe}.broker-member-side[data-broker-side=sell] .broker-member-row i{background:#fee2e2}.broker-member-rank{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#f8fafc;color:#334155;font-size:11px;font-weight:900}.supply-flow-table-wrap{overflow-x:auto}.supply-flow-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.flow-group{display:block;color:#64748b;font-size:12px;font-weight:800}.krx-chart{display:grid;gap:10px;padding:14px;background:#fff}.krx-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}.krx-chart-head div{display:flex;align-items:baseline;gap:10px;min-width:0}.krx-chart-head strong{color:#111827;font-size:18px}.krx-chart-head span{color:#64748b;font-size:13px;font-weight:800}.krx-drawing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.krx-drawing-tools{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.krx-drawing-tools button{min-width:36px;min-height:32px;padding:5px 8px;border:1px solid #bfd3f7;border-radius:6px;color:#0b3d91;background:#fff;font-size:13px;font-weight:900;cursor:pointer}.krx-drawing-tools button:disabled{cursor:wait;opacity:.55}.krx-indicator-panel{display:grid;gap:10px;padding:10px;border:1px solid #d8e0ea;border-radius:6px;background:#f8fafc}.indicator-panel-head,.indicator-editor-head,.indicator-add-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.indicator-panel-head div,.indicator-editor-head div{display:grid;gap:2px;min-width:0}.indicator-panel-head strong,.indicator-editor-head strong{color:#111827;font-size:14px}.indicator-panel-head span,.indicator-editor-head span,.indicator-empty-params{color:#64748b;font-size:12px;font-weight:800}.indicator-add-row{justify-content:flex-start}.indicator-add-row select{max-width:280px}.indicator-add-row button,.indicator-editor-head button{min-height:34px;padding:6px 10px;border:1px solid #bfd3f7;border-radius:6px;color:#0b3d91;background:#fff;font-weight:900;cursor:pointer}.indicator-add-row button:disabled{cursor:not-allowed;opacity:.55}.indicator-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.indicator-editor{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #e5eaf0;border-radius:6px;background:#fff}.indicator-param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.indicator-param-field{gap:4px;color:#334155;font-size:12px}.indicator-param-field input,.indicator-param-field select{min-height:34px;padding:6px 8px}.indicator-param-check{grid-template-columns:1fr auto;align-items:center}.indicator-param-check input[type=checkbox]{width:18px;min-height:18px;padding:0}.krx-microstructure-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,180px) minmax(280px,340px);gap:12px;min-height:0;align-items:stretch}.krx-chart-pane{min-width:0}.orderbook-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;height:520px;border:1px solid #d8e0ea;border-radius:6px;background:#fff;overflow:hidden}.orderbook-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px;border-bottom:1px solid #e5eaf0;background:#f8fafc}.orderbook-head div{display:grid;gap:2px;min-width:0}.orderbook-head strong{color:#111827;font-size:14px}.orderbook-head span{color:#64748b;font-size:12px;font-weight:800}.orderbook-metrics{display:grid;grid-template-columns:minmax(38px,auto) minmax(0,1fr);gap:8px 10px;align-content:start;padding:12px 10px;border-bottom:1px solid #edf2f7}.orderbook-metrics span,.orderbook-updated{color:#64748b;font-size:12px;font-weight:800}.orderbook-metrics strong{justify-self:end;color:#111827;font-size:13px;font-weight:900}.orderbook-ask{color:#b91c1c!important}.orderbook-bid{color:#1d4ed8!important}.orderbook-updated{margin:0;padding:10px}.time-sales-tape{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;height:520px;border:1px solid #d8e0ea;border-radius:6px;background:#fff;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.time-sales-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 12px;border-bottom:1px solid #e5eaf0;background:#f8fafc}.time-sales-head div{display:grid;min-width:0}.time-sales-head strong{color:#111827;font-size:14px}.time-sales-head span{color:#64748b;font-size:12px;font-weight:800}.time-sales-metrics{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid #edf2f7;color:#334155;font-size:12px;font-weight:800}.time-sales-grid{min-height:0;overflow-y:auto}.time-sales-row{display:grid;grid-template-columns:minmax(96px,1.2fr) minmax(74px,1fr) minmax(64px,.8fr) 40px;gap:8px;align-items:center;min-height:28px;padding:4px 10px;border-bottom:1px solid #f1f5f9;color:#64748b;font-size:12px;line-height:1.25}.time-sales-header{position:sticky;top:0;z-index:1;min-height:30px;color:#475569;background:#f8fafc;font-weight:900}.time-sales-row span:nth-child(2),.time-sales-row span:nth-child(3){text-align:right}.time-sales-row span:nth-child(4){text-align:center}.time-sales-price,.time-sales-side{font-weight:900}.time-sales-time,.time-sales-volume{color:#334155}.time-sales-row.tape-up .time-sales-price,.time-sales-row.tape-up .time-sales-side{color:var(--tape-up)}.time-sales-row.tape-down .time-sales-price,.time-sales-row.tape-down .time-sales-side{color:var(--tape-down)}.time-sales-row.tape-flat .time-sales-price,.time-sales-row.tape-flat .time-sales-side{color:#64748b}.time-sales-empty{display:grid;place-items:center;min-height:120px;color:#94a3b8;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:800}.chart-status{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border-radius:6px;background:#eef5ff;color:#0b3d91;font-size:12px;font-weight:900;text-transform:uppercase}.chart-status.live{background:#fee2e2;color:#991b1b}.chart-status.error{background:#fee2e2;color:#7f1d1d}.chart-status.drawings-saving,.chart-status.drawings-loading{background:#fff7ed;color:#9a3412}.chart-status.drawings-error{background:#fee2e2;color:#7f1d1d}.chart-status.drawings-local{background:#f1f5f9;color:#475569}.chart-status.indicators-saving,.chart-status.indicators-loading{background:#fff7ed;color:#9a3412}.chart-status.indicators-error{background:#fee2e2;color:#7f1d1d}.chart-status.indicators-default,.chart-status.indicators-local{background:#f1f5f9;color:#475569}.chart-status.orderbook-live{background:#fee2e2;color:#991b1b}.chart-status.orderbook-stale,.chart-status.orderbook-unavailable{background:#fff7ed;color:#9a3412}.chart-status.orderbook-fallback{background:#eef2ff;color:#3730a3}.auth-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(220px,1fr);gap:24px;align-items:stretch;max-width:960px}.auth-panel{padding:28px}form{display:grid;gap:14px;margin-top:24px}label{display:grid;gap:6px;color:#334155;font-size:14px;font-weight:800}input,select,textarea{width:100%;min-height:42px;padding:8px 10px;border:1px solid #b8c4d4;border-radius:6px}textarea{resize:vertical}form button,.danger-button{padding:9px 12px;color:#fff;border:0;background:#0b3d91;font-weight:800}form button:disabled{cursor:wait;opacity:.66}form button.secondary-button{color:#0b3d91;border:1px solid #c8d6ea;background:#eef5ff}.form-error{padding:10px 12px;border:1px solid #f6c6c6;border-radius:6px;color:#a11212;background:#fff1f1;font-weight:700}.form-success{padding:10px 12px;border:1px solid #b7dfc4;border-radius:6px;color:#166534;background:#f0fdf4;font-weight:700}.danger-button{margin-top:18px;background:#b42318}.auth-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auth-aside span{display:grid;place-items:center;min-height:128px;border:1px solid #c7d2fe;border-radius:8px;color:#1e3a8a;background:#eef5ff;font-size:18px;font-weight:900}@media (max-width: 820px){.topbar{grid-template-columns:1fr;align-items:stretch;gap:8px;padding:12px 16px}.topbar-actions{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.session-chip{max-width:none}.news-ticker-bar{position:static;grid-template-columns:1fr;align-items:stretch;gap:6px;padding:8px 16px}.news-ticker-track{overflow-x:auto}.news-ticker-item{max-width:86vw}.shell-grid{grid-template-columns:1fr}.rail{display:block;padding:12px 16px;border-left:0;border-top:1px solid var(--shell-border)}.rail-item{padding:0;border-bottom:0}.shell-grid.is-dock-collapsed{grid-template-columns:1fr}.shell-dock[data-dock-collapsed=true]{min-height:48px}.content{padding:20px 16px}.market-status-bar{padding:10px 16px}.market-status-row{align-items:flex-start;flex-direction:column;gap:8px}.market-status-markets,.market-status-disclosure{align-items:flex-start;flex-direction:column}.workspace{min-height:560px}.workspace-toolbar{align-items:flex-start}.krx-drawing-toolbar{align-items:flex-start;flex-direction:column}.indicator-add-row,.indicator-editor-head{align-items:stretch;flex-direction:column}.indicator-add-row select{max-width:none}.krx-microstructure-layout{grid-template-columns:1fr}.time-sales-tape{height:360px}.krx-chart{padding:10px}.orderbook-panel{height:auto;min-height:180px}.home-market-grid,.home-rank-preview{grid-template-columns:1fr}.home-spark-grid{grid-template-rows:none}.home-spark-card{grid-template-columns:minmax(0,1fr) minmax(90px,130px)}.home-spark-card p{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.home-preview-panel{position:static}.dashboard-grid,.auth-layout,.status-banner,.calendar-form,.free-text-reply,.fundamentals-layout,.markets-layout,.advisor-report-form,.advisor-summary dl,.peer-comparison-form,.sentiment-valuation-form,.backtest-run-form,.backtest-field-grid,.strategy-param-grid,.strategy-builder-layout,.builder-canvas,.builder-metadata-form,.builder-backtest-form,.watchlist-layout,.watchlist-search-form,.screener-layout,.screener-filter-bar,.orders-layout,.krx-microstructure-layout,.order-ticket-form,.order-row,.portfolio-row,.order-metrics,.portfolio-summary,.backtest-result-head,.backtest-result-metrics,.backtest-preset-card,.backtest-run-select,.portfolio-row .order-metrics{grid-template-columns:1fr}.backtest-result-head .text-link{grid-column:1;grid-row:auto;justify-self:start}.calendar-table,.market-list-panel,.peer-panel,.watchlist-panel,.screener-results-panel,.backtest-ledger-panel{display:block;overflow-x:auto}.calendar-table{white-space:nowrap}.watchlist-row,.symbol-result,.status-row{grid-template-columns:1fr;align-items:stretch}.valuation-band-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.watchlist-actions{justify-content:flex-start}.auth-aside{display:none}}
