html, body { margin:0; padding:0; background:#05060a; }
* { box-sizing:border-box; }

.td-root { background:#0d0f14; color:#c8cdd6; font-size:12px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow:hidden; display:flex; flex-direction:column; height:100vh; }

.td-nav { background:#111318; border-bottom:1px solid #1e2230; display:flex; align-items:center; gap:0; padding:0 12px; height:40px; flex-shrink:0; }
.td-logo { color:#e84040; font-weight:600; font-size:13px; margin-right:16px; display:flex; align-items:center; gap:6px; }
.td-logo-icon { width:20px; height:20px; background:#e84040; border-radius:4px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.td-logo-icon svg { width:12px; height:12px; fill:white; }
.td-navlink { font-size:12px; color:#8892a4; padding:0 10px; height:40px; display:flex; align-items:center; cursor:pointer; border-bottom:2px solid transparent; background:none; border-top:none; border-left:none; border-right:none; font-family:inherit; }
.td-navlink:hover { color:#c8cdd6; }
.td-navlink.active { color:#c8cdd6; border-bottom:2px solid #e84040; }
.td-search-wrap { margin:0 8px; flex:1; max-width:220px; position:relative; }
.td-search { width:100%; background:#1a1d26; border:1px solid #2a2f3d; border-radius:4px; padding:4px 8px; color:#c8cdd6; font-size:11px; }
.td-search::placeholder { color:#555e72; }
.td-live { margin-left:auto; display:flex; align-items:center; gap:12px; font-size:11px; }
.td-live-dot { width:6px; height:6px; border-radius:50%; background:#22c55e; display:inline-block; margin-right:4px; }
.td-live-dot.stale { background:#eab308; }
.td-poll { color:#8892a4; background:none; border:none; cursor:pointer; font-size:11px; font-family:inherit; }
.td-poll:hover { color:#c8cdd6; }
.td-poll:disabled { opacity:0.6; cursor:default; }
.td-export { background:#e84040; color:white; border:none; border-radius:4px; padding:4px 12px; font-size:11px; cursor:pointer; font-weight:500; }
.td-export:hover { background:#d13636; }

.td-stats { background:#111318; border-bottom:1px solid #1e2230; display:flex; align-items:center; padding:6px 16px; gap:28px; flex-shrink:0; }
.td-stat { text-align:center; background:none; border:none; font-family:inherit; cursor:default; padding:2px 4px; border-radius:4px; }
.td-stat.clickable { cursor:pointer; }
.td-stat.clickable:hover { background:#1a1d26; }
.td-stat.active { background:#1a1d26; }
.td-stat-num { font-size:20px; font-weight:600; line-height:1; }
.td-stat-num.critical { color:#e84040; } .td-stat-num.high { color:#f97316; }
.td-stat-num.medium { color:#eab308; } .td-stat-num.low { color:#22c55e; }
.td-stat-num.signals { color:#a78bfa; } .td-stat-num.iocs { color:#38bdf8; } .td-stat-num.unread { color:#4ade80; }
.td-stat-label { font-size:9px; color:#555e72; text-transform:uppercase; letter-spacing:0.5px; margin-top:1px; }

.td-columns { display:flex; flex:1; overflow-x:auto; overflow-y:hidden; }
.td-col { flex:0 0 220px; border-right:1px solid #1e2230; display:flex; flex-direction:column; overflow:hidden; }
.td-col-head { padding:6px 10px; background:#111318; border-bottom:1px solid #1e2230; display:flex; align-items:center; gap:6px; font-size:11px; font-weight:500; color:#8892a4; flex-shrink:0; }
.td-col-src { font-size:10px; font-weight:700; padding:2px 5px; border-radius:3px; color:white; flex-shrink:0; }
.td-dot { width:6px; height:6px; border-radius:50%; background:#22c55e; margin-left:auto; flex-shrink:0; }
.td-dot.error { background:#e84040; }
.td-count { background:#1e2230; border-radius:3px; padding:1px 5px; font-size:10px; color:#6b7280; flex-shrink:0; }
.td-filter { padding:4px 8px; background:#0d0f14; flex-shrink:0; }
.td-filter input { width:100%; background:#1a1d26; border:1px solid #2a2f3d; border-radius:3px; padding:3px 6px; color:#8892a4; font-size:10px; }
.td-cards { overflow-y:auto; flex:1; }
.td-cards::-webkit-scrollbar { width:4px; }
.td-cards::-webkit-scrollbar-thumb { background:#2a2f3d; border-radius:2px; }

.td-card { padding:8px 10px; border-bottom:1px solid #1a1d26; cursor:pointer; text-align:left; width:100%; background:none; border-left:none; border-right:none; border-top:none; color:inherit; font-family:inherit; display:block; }
.td-card:hover { background:#141720; }
.td-card.selected { background:#141b26; box-shadow:inset 2px 0 0 #e84040; }
.td-card.is-read { opacity:0.5; }
.td-card-head { display:flex; align-items:center; gap:5px; margin-bottom:4px; flex-wrap:wrap; }
.td-src-badge { font-size:9px; font-weight:700; padding:1px 4px; border-radius:2px; color:white; flex-shrink:0; }
.td-time { font-size:9px; color:#444e63; margin-left:auto; flex-shrink:0; }
.td-card-title { font-size:11px; color:#9ba3b5; line-height:1.4; }
.td-tags { display:flex; flex-wrap:wrap; gap:3px; margin-top:5px; align-items:center; }
.td-tag { font-size:9px; padding:1px 5px; border-radius:2px; color:#9ba3b5; background:#1e2230; font-family:ui-monospace,Menlo,Consolas,monospace; text-decoration:none; display:inline-block; }
.td-tag[href] { cursor:pointer; }
.td-tag[href]:hover { color:#60a5fa; text-decoration:underline; }
.td-sev { font-size:9px; font-weight:700; padding:1px 5px; border-radius:2px; text-transform:uppercase; }
.td-sev.critical { background:rgba(232,64,64,0.15); color:#e84040; }
.td-sev.high { background:rgba(249,115,22,0.15); color:#f97316; }
.td-sev.info { background:rgba(59,130,246,0.15); color:#60a5fa; }
.td-sev.medium { background:rgba(234,179,8,0.15); color:#eab308; }
.td-sev.low { background:rgba(34,197,94,0.15); color:#22c55e; }
.td-score { background:#e84040; color:white; font-size:9px; font-weight:700; padding:1px 5px; border-radius:2px; }
.td-star { color:#eab308; margin-left:2px; }
.td-new { font-size:9px; font-weight:700; color:#38bdf8; background:rgba(56,189,248,0.15); border-radius:2px; padding:1px 4px; }

.td-detail { flex:0 0 300px; background:#111318; border-left:1px solid #2a2f3d; display:flex; flex-direction:column; overflow:hidden; }
.td-detail-head { padding:8px 10px; border-bottom:1px solid #1e2230; display:flex; align-items:center; flex-shrink:0; gap:6px; }
.td-detail-head span.label { font-size:11px; font-weight:500; color:#8892a4; }
.td-close { margin-left:auto; color:#444e63; cursor:pointer; font-size:16px; line-height:1; background:none; border:none; }
.td-close:hover { color:#c8cdd6; }
.td-detail-body { padding:10px; overflow-y:auto; flex:1; }
.td-detail-empty { padding:24px 16px; color:#444e63; font-size:11px; text-align:center; }
.td-section-label { font-size:9px; text-transform:uppercase; letter-spacing:0.8px; color:#444e63; margin-bottom:6px; margin-top:12px; }
.td-section-label:first-child { margin-top:0; }
.td-detail-title { font-size:12px; font-weight:500; color:#c8cdd6; line-height:1.5; margin-bottom:8px; }
.td-detail-link { font-size:10px; color:#60a5fa; text-decoration:none; word-break:break-all; }
.td-ioc-item { background:#0d0f14; border:1px solid #1e2230; border-radius:3px; padding:5px 7px; margin-bottom:4px; }
.td-ioc-key { font-size:9px; color:#444e63; text-transform:uppercase; }
.td-ioc-row { display:flex; align-items:baseline; gap:6px; }
.td-ioc-val { font-size:10px; color:#60a5fa; font-family:ui-monospace,Menlo,Consolas,monospace; word-break:break-all; cursor:pointer; }
.td-ioc-val:hover { text-decoration:underline; }
.td-ioc-lookup { font-size:10px; color:#444e63; text-decoration:none; flex-shrink:0; }
.td-ioc-lookup:hover { color:#60a5fa; }
.td-disclaimer { font-size:9px; color:#444e63; line-height:1.5; margin-top:10px; }

.td-actions { padding:8px 10px; border-top:1px solid #1e2230; display:flex; flex-wrap:wrap; gap:5px; flex-shrink:0; }
.td-btn { font-size:10px; padding:4px 9px; border-radius:3px; cursor:pointer; border:1px solid #2a2f3d; background:#1a1d26; color:#9ba3b5; font-family:inherit; }
.td-btn:hover { background:#1e2230; }
.td-btn:disabled { opacity:0.5; cursor:default; }
.td-btn.primary { background:#e84040; border-color:#e84040; color:white; }
.td-btn.active { border-color:#eab308; color:#eab308; }

.td-placeholder-panel { flex:1; overflow-y:auto; padding:16px; max-width:640px; }
.td-placeholder-panel h3 { font-size:13px; color:#c8cdd6; margin:0 0 6px; font-weight:500; }
.td-placeholder-panel p { font-size:11px; color:#8892a4; line-height:1.6; margin:0 0 14px; }
.td-placeholder-panel code { background:#1a1d26; padding:1px 4px; border-radius:3px; font-size:10px; }
.td-ingest-row { display:flex; align-items:center; gap:10px; padding:9px 12px; background:#111318; border:1px solid #1e2230; border-radius:5px; margin-bottom:6px; }
.td-ingest-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.td-ingest-name { font-size:11px; color:#c8cdd6; font-weight:500; }
.td-ingest-detail { font-size:10px; color:#555e72; margin-top:1px; }
.td-ingest-status { margin-left:auto; font-size:9px; text-transform:uppercase; letter-spacing:0.5px; font-weight:600; flex-shrink:0; text-align:right; }

.td-toast { position:fixed; bottom:16px; left:50%; transform:translateX(-50%); background:#1a1d26; color:#c8cdd6; border:1px solid #2a2f3d; font-size:11px; padding:8px 14px; border-radius:6px; z-index:50; }

.td-watchlist-wrap { flex:1 1 auto; display:flex; flex-direction:column; }
