/* Tabler 기본 위에 꼭 필요한 것만 */
.panel { height: calc(100vh - 120px); min-height: 520px; }
.panel-scroll { overflow-y: auto; flex: 1 1 auto; min-height: 0; }
#graph { position: absolute; inset: 0; }
.graph-loading, .filing-loading {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; background: var(--tblr-bg-surface);
}
#filingFrame { display: block; width: 100%; height: 80vh; border: 0; }
.rel-row { cursor: pointer; }
.list-group-header { position: sticky; top: 0; z-index: 1; }
.mw-0 { min-width: 0; }
@media (max-width: 1199.98px) { .panel { height: auto; } #chatLog { min-height: 360px; } }
.datagrid { grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: .75rem; }

#chatLog .msg{max-width:92%;padding:.5rem .75rem;border-radius:.5rem;margin-bottom:.5rem;word-break:break-word;font-size:.875rem}
#chatLog .msg.me{white-space:pre-wrap}
#chatLog .msg.me{margin-left:auto;background:var(--tblr-primary);color:#fff}
#chatLog .msg.bot{background:var(--tblr-bg-surface-secondary)}
#chatLog .src{font-size:.75rem;margin-top:.25rem}
#chatPanel { display: flex; flex-direction: column; }
.graph-btn { opacity: .55; }
.graph-btn:hover, .list-group-item.active .graph-btn { opacity: 1; }
#chatLog .md p{margin:0 0 .35rem}
#chatLog .md ul,#chatLog .md ol{margin:0 0 .35rem;padding-left:1.1rem}
#chatLog .md li{margin:.1rem 0}
#chatLog .md h1,#chatLog .md h2,#chatLog .md h3,#chatLog .md h4{font-size:.875rem;font-weight:700;margin:.4rem 0 .2rem}
#chatLog .md table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;font-size:.75rem;margin:.25rem 0 .4rem}
#chatLog .md th,#chatLog .md td{border:1px solid var(--tblr-border-color);padding:.15rem .4rem;white-space:nowrap}
#chatLog .md th{background:var(--tblr-bg-surface)}
#chatLog .md>:last-child{margin-bottom:0}
@keyframes flashbg { 0%,70% { background: #ffe066; } 100% { background: transparent; } }
.flash, .flash > td { animation: flashbg 5s ease-out; }

/* 허브 공통 상단(APP_GUIDE.md 2절 규격): 패딩 10px 18px, 앱 이름 15px/700, back 13px/600 회색→호버 잉크, 단계 6 기타 #5e5ce6 */
header.navbar { padding: 10px 18px; min-height: 0; border-bottom: 1px solid #e3e3e8; }
header.navbar > .container-fluid { padding: 0; }
.hubhead { display: flex; align-items: center; gap: 14px; }
.hubhead a.back { color: #6e6e73; text-decoration: none; font-size: 13px; font-weight: 600; white-space: nowrap; }
.hubhead a.back:hover { color: #1d1d1f; }
.hubhead .stg { background: #5e5ce6; color: #fff; font-size: 11px; font-weight: 800; border-radius: 12px; padding: 3px 10px; white-space: nowrap; }
.hubhead h1 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -0.3px; }
.hubhead h1 a { color: #1d1d1f; text-decoration: none; }

/* 공개판: 위젯 숨김 */
body.public [data-widget-open], body.public [data-my-open] { display: none !important; }
body.public #finBox svg { max-height: 260px; }
