:root{--bg:#f5f7fb;--surface:#fff;--surface-muted:#f0f3f9;--text:#122030;--text-soft:#536175;--text-muted:#8494a7;--primary:#0f4c81;--primary-soft:#dce8f6;--accent:#0f766e;--accent-bg:#eff6ff;--border:#d9e1ed;--danger:#b42318;--shadow:0 10px 30px #10182814;--bg-card:#fff;--bg-hover:#f1f5f9;--bg-subtle:#f8fafc;--foreground:#122030;--muted:#f0f3f9;--muted-foreground:#536175}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}html,body{background:radial-gradient(circle at top right,#eef5ff 0%,var(--bg)45%),var(--bg);color:var(--text);margin:0;padding:0;font-family:Segoe UI,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:86px 1fr}.sidebar{color:#dbe8f7;background:#0b2036;border-right:1px solid #123353;padding:24px 16px}.sidebar-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{letter-spacing:.02em;font-size:1.1rem;font-weight:700}.sidebar-toggle{color:#dbe8f7;cursor:pointer;background:#9fc0e01f;border:1px solid #9fc0e052;border-radius:8px;width:28px;height:28px;font-size:.9rem;font-weight:700}.sidebar .tenant{color:#9fc0e0;margin-top:8px;font-size:.9rem}.sidebar-version{color:#9fc0e099;margin-top:auto;padding-top:12px;font-family:monospace;font-size:.75rem}.sidebar.collapsed .sidebar-version{display:none}.nav-block{gap:8px;margin-top:22px;display:grid}.nav-item{color:#dbe8f7;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.95rem;display:flex}.nav-item.active,.nav-item:hover{background:#7fb9f029}.nav-icon{color:#dbe8f7;background:#9fc0e029;border:1px solid #9fc0e038;border-radius:8px;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:.72rem;font-weight:700;display:inline-flex}.nav-label{white-space:nowrap}.sidebar.collapsed{padding:24px 10px}.sidebar.collapsed .tenant,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sidebar-header{flex-direction:column;justify-content:center}.sidebar.collapsed .nav-item{justify-content:center;padding:8px 0}.sidebar.collapsed .nav-icon{width:32px;min-width:32px;height:32px}.main{gap:18px;padding:24px;display:grid}.topbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.page-title{margin:0;font-size:1.2rem}.page-subtitle{color:var(--text-soft);margin:2px 0 0;font-size:.92rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:16px}.card.warning{background:#fff8eb;border-color:#f59e0b}.kpi-label{color:var(--text-soft);margin:0;font-size:.82rem}.kpi-value{margin:6px 0 0;font-size:1.55rem;font-weight:700}.kpi-delta{color:var(--accent);margin:6px 0 0;font-size:.85rem}.toolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;gap:12px;padding:14px;display:grid}.filter-row,.bulk-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.input,.select,.button{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--text);border-radius:10px;padding:0 12px;font-size:.9rem}.input{min-width:260px}.button{cursor:pointer;background:var(--surface-muted);font-weight:600}.button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.button.ghost{background:0 0}.table-wrap{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;overflow:auto hidden}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:12px;font-size:.9rem}.table th{color:#3e5167;background:#f8fbff;font-weight:600}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;padding:3px 8px;font-size:.76rem;font-weight:600;display:inline-flex}.badge.neutral{color:#334155;background:#eef2f8}.table-row-actions{gap:8px;display:flex}.drawer-overlay{background:#030c1866;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(520px,96vw);height:100%;padding:20px;overflow:auto;box-shadow:-10px 0 30px #10182824}.drawer h3{margin:0}.meta-list{gap:10px;margin:16px 0;display:grid}.meta-item{background:var(--surface-muted);border-radius:10px;padding:10px}.sidebar-hamburger{background:var(--surface-muted);color:var(--text);cursor:pointer;border:1px solid #9fc0e052;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:none}.sidebar-overlay{z-index:199;background:#030c1873;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:200;width:260px;height:100dvh;display:none;position:fixed;top:0;left:0;box-shadow:4px 0 24px #030c184d}.sidebar.mobile-open{flex-direction:column;display:flex}.sidebar-hamburger{display:inline-flex}.main{padding:14px}.input{min-width:100%}.topbar-breadcrumb{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 180px);overflow:hidden}.pipeline-action-band{flex-direction:column;align-items:flex-start}.pipeline-action-sep{width:100%;height:1px;margin:2px 0}}.btn-group{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.btn-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin-bottom:4px;font-size:.76rem;font-weight:700}.btn-option{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-soft);cursor:pointer;white-space:nowrap;border-radius:8px;padding:0 11px;font-size:.82rem;font-weight:600;transition:background .12s,color .12s}.btn-option.active{background:var(--primary);border-color:var(--primary);color:#fff}.btn-option:hover:not(.active){background:var(--surface-muted);color:var(--text)}.pipeline-flow{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:stretch;display:flex;overflow:hidden}.pipeline-stage{text-align:center;border-right:1px solid var(--border);flex-direction:column;flex:1;gap:4px;padding:14px 10px;display:flex}.pipeline-stage:last-child{border-right:none}.pipeline-stage-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.pipeline-stage-count{color:var(--text);font-size:1.5rem;font-weight:700;line-height:1}.pipeline-stage.has-docs{background:var(--primary-soft)}.pipeline-stage.has-docs .pipeline-stage-label{color:var(--primary)}.pipeline-stage-arrow{color:var(--text-soft);margin-top:2px;font-size:.7rem}.pipeline-stage-link{color:inherit;cursor:pointer;text-decoration:none}.pipeline-stage-link:hover{filter:brightness(.98)}.badge.ok{color:#166534;background:#dcfce7}.badge.warn{color:#854d0e;background:#fef9c3}.badge.danger{color:var(--danger);background:#fee2e2}.tabs-bar{border-bottom:2px solid var(--border);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-bottom:none;border-radius:14px 14px 0 0;gap:2px;padding:12px 14px 0;display:flex}.tab-btn{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:8px 18px;font-size:.88rem;font-weight:600}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-soft)}.tab-btn:hover:not(.active){background:var(--surface-muted);color:var(--text)}.tab-panel{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--primary);box-shadow:var(--shadow);border-radius:0 0 14px 14px;gap:18px;padding:20px;display:grid}.form-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin:0 0 5px;font-size:.76rem;font-weight:700}.source-form-grid{gap:14px;display:grid}.source-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.health-bar{flex-wrap:wrap;gap:10px;display:flex}.health-pill{border:1px solid var(--border);background:var(--surface);min-width:160px;box-shadow:var(--shadow);border-radius:12px;flex:1;align-items:center;gap:8px;padding:10px 16px;display:flex}.health-pill-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.health-pill.ok{background:#f0fdf4;border-color:#bbf7d0}.health-pill.ok .health-pill-dot{background:#22c55e}.health-pill.warn{background:#fffbeb;border-color:#fde68a}.health-pill.warn .health-pill-dot{background:#f59e0b;box-shadow:0 0 0 3px #fde68a}.health-pill.error{background:#fff1f2;border-color:#fecaca}.health-pill.error .health-pill-dot{background:#ef4444;box-shadow:0 0 0 3px #fecaca}.health-pill.muted{border-color:var(--border);background:var(--surface-muted)}.health-pill.muted .health-pill-dot{background:#94a3b8}.health-pill-body{flex-direction:column;gap:1px;min-width:0;display:flex}.health-pill-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);font-size:.75rem;font-weight:700}.health-pill-value{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.alert-list{gap:8px;display:grid}.alert-item{background:var(--surface-muted);border-left:4px solid #0000;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:.88rem;display:flex}.alert-item.warn{background:#fffbeb;border-color:#f59e0b}.alert-item.error{background:#fff1f2;border-color:#ef4444}.alert-item.info{border-color:var(--primary);background:var(--primary-soft)}.alert-item.ok{background:#f0fdf4;border-color:#22c55e}.alert-icon{flex-shrink:0;font-size:1rem;line-height:1.2}.alert-text{flex-direction:column;gap:2px;display:flex}.alert-title{color:var(--text);font-weight:600}.alert-desc{color:var(--text-soft);font-size:.8rem}.activity-list{gap:6px;display:grid}.activity-row{background:var(--surface-muted);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.86rem;display:flex}.activity-row-action{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.activity-row-time{color:var(--text-soft);white-space:nowrap;flex-shrink:0;font-size:.78rem}.contextual-actions{flex-wrap:wrap;gap:10px;display:flex}.action-card{border:1px solid var(--border);background:var(--surface);color:var(--text);min-width:160px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:1;gap:6px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.action-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.action-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);font-size:.75rem;font-weight:700}.action-card-title{color:var(--primary);font-size:.92rem;font-weight:600}.action-card-desc{color:var(--text-soft);font-size:.8rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.project-card-link{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:8px;padding:20px;text-decoration:none;transition:border-color .15s,transform .1s;display:flex}.project-card-link:hover{border-color:var(--primary);transform:translateY(-2px)}.project-card-id{color:var(--text-soft);font-family:monospace;font-size:.75rem}.project-card-name{color:var(--text);font-size:1.05rem;font-weight:700}.project-card-arrow{color:var(--primary);align-self:flex-end;margin-top:auto;font-size:1rem}.section-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin:0;font-size:.82rem;font-weight:700}.section-link{color:var(--primary);font-size:.8rem;font-weight:600;text-decoration:none}.section-link:hover{text-decoration:underline}.pipeline-action-band{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:14px;display:flex}.pipeline-action-sep{background:var(--border);width:1px;height:24px;margin:0 4px}.extract-dropdown-wrapper{display:inline-block;position:relative}.extract-dropdown-menu{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:200px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #00000026}.extract-dropdown-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;display:flex}.extract-dropdown-item:hover{background:var(--muted)}.extract-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.extract-dropdown-badge{color:var(--muted-foreground);background:var(--muted);border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px}.scheduler-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:10px;display:grid}.scheduler-field{flex-direction:column;gap:2px;display:flex}.scheduler-field-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.scheduler-field-value{color:var(--text);font-size:.95rem;font-weight:700}.news-table td{vertical-align:top;padding:10px 12px}.news-table th{padding:8px 12px}.article-cell{max-width:480px}.article-title{color:var(--text);margin-bottom:4px;font-size:.9rem;font-weight:600;line-height:1.4}.article-title-link{color:var(--text);text-decoration:none}.article-title-link:hover{color:var(--primary);text-decoration:underline}.article-preview{color:var(--text-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.article-preview--empty{font-style:italic}.article-meta{color:var(--text-soft);gap:8px;margin-top:2px;font-size:.72rem;display:flex}.article-meta span:before{content:"·";margin-right:6px}.article-meta span:first-child:before{content:"";margin-right:0}.source-cell{min-width:120px}.source-name{font-size:.84rem;font-weight:600}.source-iberifier{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.iberifier-badge{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:4px;align-items:center;padding:2px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.iberifier-reach{color:var(--text-soft);font-size:.7rem}.source-type{color:var(--text-soft);margin-top:2px;font-family:monospace;font-size:.72rem}.source-url-chip{color:var(--primary);margin-top:4px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-block}.source-url-chip:hover{text-decoration:underline}.step-chips{flex-wrap:wrap;gap:3px;margin-top:5px;display:flex}.step-chip{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:.68rem;font-weight:600}.quality-signals{flex-direction:column;gap:6px;display:flex}.coverage-bar-wrap{background:var(--surface-muted);border-radius:3px;align-items:center;gap:6px;min-width:80px;height:6px;display:flex;position:relative;overflow:hidden}.coverage-bar-fill{border-radius:3px;height:100%;transition:width .3s}.coverage-bar-label{color:var(--text-soft);background:0 0;font-size:.68rem;line-height:1;position:absolute;top:-14px;right:0}.quality-badges{flex-wrap:wrap;gap:3px;display:flex}.nav-divider{background:#ffffff14;height:1px;margin:10px 0}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:#7fb9f0a6;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 12px 6px;font-size:.68rem;font-weight:700;display:flex}.nav-section-icon{color:#7fb9f080;flex-shrink:0;font-size:.75rem}.nav-section-text{white-space:nowrap}.sidebar.collapsed .nav-section-text{display:none}.sidebar.collapsed .nav-section-label{justify-content:center;padding:4px 0 6px}.wm-filters{flex-direction:column;gap:12px;display:flex}.wm-filter-group{align-items:flex-start;gap:10px;display:flex}.wm-filter-label{color:var(--text-soft);white-space:nowrap;min-width:72px;padding-top:5px;font-size:.75rem;font-weight:600}.wm-chips{flex-wrap:wrap;gap:6px;display:flex}.wm-filter-chip{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);cursor:pointer;border-radius:14px;align-items:center;gap:5px;padding:3px 10px;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.wm-filter-chip:hover{border-color:var(--primary)}.wm-filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.wm-chip-count{opacity:.75;font-size:.72rem;font-weight:700}.threat-chip-critical.active{background:#b91c1c;border-color:#b91c1c}.threat-chip-high.active{background:#c2410c;border-color:#c2410c}.threat-chip-medium.active{background:#92400e;border-color:#92400e}.threat-chip-low.active{background:#15803d;border-color:#15803d}.threat-chip-info.active{background:var(--text-soft);border-color:var(--text-soft)}.wm-classify{flex-direction:column;gap:0;display:flex}.wm-category-badge{color:var(--primary);white-space:nowrap;background:#7fb9f02e;border-radius:10px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}.wm-doc-title{white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.wm-doc-link{color:var(--primary);text-decoration:none}.wm-doc-link:hover{text-decoration:underline}.wm-terms{color:var(--text-soft);max-width:220px;font-size:.8rem}.wm-source{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.8rem;overflow:hidden}.wm-date{color:var(--text-soft);white-space:nowrap;font-size:.8rem}.wm-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.wm-empty-icon{margin:0;font-size:2rem;line-height:1}.wm-empty-text{color:var(--text-soft);max-width:380px;margin:0;font-size:.9rem}.wm-monitor{flex-direction:column;gap:16px;display:flex}.wm-monitor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wm-threat-filters{flex-wrap:wrap;gap:6px;display:flex}.wm-monitor-refresh{gap:8px;display:flex}.wm-monitor-layout{grid-template-columns:1fr 260px;align-items:start;gap:16px;display:grid}@media (max-width:900px){.wm-monitor-layout{grid-template-columns:1fr}}.wm-feed-column{flex-direction:column;gap:8px;display:flex}.wm-feed-count{color:var(--text-soft);margin:0 0 4px;font-size:.8rem}.wm-feed{flex-direction:column;gap:8px;display:flex}.wm-feed-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;padding:12px 14px;transition:border-color .15s}.wm-feed-item:hover{border-color:var(--primary)}.threat-item-critical{border-left-color:#b91c1c}.threat-item-high{border-left-color:#c2410c}.threat-item-medium{border-left-color:#ca8a04}.threat-item-low{border-left-color:#15803d}.wm-feed-badges{gap:6px;margin-bottom:6px;display:flex}.wm-feed-title{margin:0 0 6px;font-size:.93rem;font-weight:500;line-height:1.4}.wm-feed-terms{flex-wrap:wrap;gap:4px;margin:0 0 6px;display:flex}.wm-term-pill{color:var(--text-soft);background:#7fb9f01f;border-radius:8px;padding:1px 6px;font-size:.71rem}.wm-feed-meta{color:var(--text-soft);align-items:center;gap:5px;margin:0;font-size:.77rem;display:flex}.wm-feed-dot{opacity:.4}.wm-monitor-sidebar{flex-direction:column;gap:12px;display:flex}.button.active{background:#7fb9f02e}.tour-hero{color:#fff;background:linear-gradient(135deg,#0f4c81 0%,#0f766e 100%);border-radius:16px;margin-bottom:28px;padding:32px 36px}.tour-hero-title{margin:0 0 8px;font-size:1.5rem;font-weight:800}.tour-hero-sub{opacity:.85;margin:0;font-size:.95rem;line-height:1.6}.tour-flow{flex-wrap:wrap;align-items:center;gap:0;margin:20px 0 0;display:flex}.tour-flow-step{background:#ffffff1f;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:90px;padding:10px 16px;display:flex}.tour-flow-step-icon{font-size:1.2rem}.tour-flow-step-label{text-transform:uppercase;letter-spacing:.05em;opacity:.9;font-size:.72rem;font-weight:700}.tour-flow-arrow{opacity:.5;margin:0 6px;font-size:1.2rem}.tour-section{margin-bottom:28px}.tour-section-header{border-bottom:2px solid var(--primary-soft);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:10px;display:flex}.tour-section-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.tour-section-title{margin:0;font-size:1.1rem;font-weight:700}.tour-section-sub{color:var(--text-soft);margin:2px 0 0;font-size:.82rem}.tour-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.tour-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:16px 18px}.tour-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin:0 0 6px;font-size:.68rem;font-weight:700}.tour-card-title{color:var(--text);align-items:center;gap:6px;margin:0 0 6px;font-size:.92rem;font-weight:700;display:flex}.tour-card-desc{color:var(--text-soft);margin:0;font-size:.82rem;line-height:1.55}.tour-card-chips{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.tour-chip{background:var(--primary-soft);color:var(--primary);border-radius:4px;padding:2px 7px;font-family:monospace;font-size:.68rem;font-weight:600}.tour-callout{color:#78350f;background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;margin-top:14px;padding:12px 16px;font-size:.84rem;line-height:1.55}.tour-callout strong{color:#92400e}.ctx-panel{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;margin-bottom:20px;overflow:hidden;box-shadow:0 2px 12px #0f4c8112}.ctx-panel-header{background:linear-gradient(to right,#f8faff,var(--surface));border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 18px;display:flex}.ctx-panel-header:hover{background:linear-gradient(90deg,#eef4ff,#f8faff)}.ctx-panel-header-left{align-items:center;gap:10px;min-width:0;display:flex}.ctx-panel-icon{opacity:.75;flex-shrink:0;font-size:1.05rem}.ctx-panel-title{color:var(--text);letter-spacing:-.01em;font-size:.9rem;font-weight:700}.ctx-panel-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ctx-version-badge{background:var(--primary);color:#fff;letter-spacing:.02em;border-radius:20px;padding:2px 7px;font-size:.7rem;font-weight:700}.ctx-updated-at{color:var(--text-soft);font-size:.75rem}.ctx-summary-text{color:var(--text-soft);font-size:.78rem;font-style:italic}.ctx-panel-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.ctx-panel-toggle{color:var(--text-soft);opacity:.5;flex-shrink:0;font-size:.7rem}.ctx-save-msg{color:#16a34a;background:#f0fdf4;border-bottom:1px solid #bbf7d0;align-items:center;gap:6px;padding:7px 18px;font-size:.82rem;display:flex}.ctx-alert-bar{border-bottom:1px solid #fde68a;flex-direction:column;gap:0;display:flex}.ctx-alert-item{justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 18px;font-size:.82rem;line-height:1.4;display:flex}.ctx-alert-warn{color:#92400e;background:#fffbeb}.ctx-alert-info{color:#1d4ed8;background:#eff6ff;border-top:1px solid #bfdbfe}.ctx-alert-icon{flex-shrink:0;margin-top:1px;font-size:.9rem}.ctx-alert-text{flex:1}.ctx-alert-title{font-weight:600;display:block}.ctx-alert-sub{opacity:.8;font-size:.77rem}.ctx-alert-dismiss{cursor:pointer;color:inherit;opacity:.4;background:0 0;border:none;flex-shrink:0;margin-top:2px;padding:0;font-size:.8rem}.ctx-alert-dismiss:hover{opacity:1}.ctx-alert-action{color:inherit;cursor:pointer;background:0 0;border:none;margin-top:2px;padding:0;font-size:.77rem;font-weight:600;text-decoration:underline}.ctx-panel-body{flex-direction:column;gap:16px;padding:18px 18px 16px;display:flex}.ctx-description{color:var(--text);margin:0;font-size:.9rem;font-weight:500;line-height:1.5}.ctx-scope-text{color:var(--text-soft);margin:-8px 0 0;font-size:.83rem}.ctx-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 0 8px;display:flex}.ctx-empty-icon{opacity:.25;font-size:2rem}.ctx-empty-text{color:var(--text-soft);max-width:320px;margin:0;font-size:.86rem;line-height:1.5}.ctx-empty-action{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.83rem;font-weight:600;text-decoration:underline}.ctx-view-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:640px){.ctx-view-grid{grid-template-columns:1fr}}.ctx-view-col{flex-direction:column;gap:10px;display:flex}.ctx-section-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.ctx-section-title{color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800}.ctx-section-count{background:var(--surface-muted);color:var(--text-soft);border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:600}.ctx-entity-list{flex-direction:column;gap:5px;display:flex}.ctx-entity-row{background:#fafbff;border:1px solid #e8edf7;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:.84rem;transition:border-color .15s,box-shadow .15s;display:flex}.ctx-entity-row:hover{border-color:#c7d7f0;box-shadow:0 1px 4px #0f4c810f}.ctx-entity-row-edit{background:var(--surface);border-style:dashed;border-color:#c7d7f0}.ctx-entity-row-edit:hover{border-color:var(--primary)}.ctx-entity-label-group{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ctx-entity-label{color:var(--text);font-size:.84rem;font-weight:600}.ctx-entity-aliases{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.ctx-entity-right{flex-shrink:0;align-items:center;gap:5px;display:flex}.ctx-wikidata-link{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:.72rem;font-weight:600;text-decoration:none}.ctx-wikidata-link:hover{background:#dcfce7}.ctx-badge{white-space:nowrap;letter-spacing:.03em;background:var(--surface-muted);border:1px solid var(--border);color:var(--text-soft);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.68rem;font-weight:700}.ctx-badge-type{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ctx-badge-wikidata{color:#15803d;background:#f0fdf4;border-color:#bbf7d0;font-family:monospace}.ctx-badge-boost{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.ctx-chips-row{flex-wrap:wrap;gap:6px;display:flex}.ctx-chip{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary,#3b82f6);border-radius:20px;padding:3px 10px;font-size:.82rem;font-weight:500}.ctx-chip-kw{color:#7c3aed;background:#f5f3ff;border-color:#c4b5fd}.ctx-chip-weight{opacity:.75;font-weight:400}.ctx-chip-removable{align-items:center;gap:4px;display:inline-flex}.ctx-chip-remove{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;padding:0;font-size:.7rem}.ctx-chip-remove:hover{opacity:1}.ctx-add-btn{padding:3px 8px;font-size:.82rem}.ctx-remove-btn{margin-left:auto;padding:2px 6px;font-size:.76rem}.ctx-show-more{cursor:pointer;color:var(--primary);text-underline-offset:2px;background:0 0;border:none;margin-top:2px;padding:4px 0;font-size:.78rem;font-weight:600;text-decoration:underline}.ctx-show-more:hover{opacity:.75}.ctx-advanced{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.ctx-advanced-title{color:var(--text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem;font-weight:600}.ctx-field{flex-direction:column;gap:4px;display:flex}.ctx-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.ctx-input{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);box-sizing:border-box;border-radius:8px;width:100%;padding:0 10px;font-size:.88rem;transition:border-color .15s}.ctx-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0f4c8114}.ctx-modal-backdrop{z-index:9000;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ctx-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.ctx-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:.9rem;display:flex}.ctx-modal-section{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.ctx-modal-divider{text-align:center;color:var(--text-soft);padding:4px 0;font-size:.82rem}.ctx-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.ctx-candidates{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;max-height:220px;display:flex;overflow-y:auto}.ctx-candidate{cursor:pointer;border-bottom:1px solid var(--border);align-items:baseline;gap:8px;padding:7px 10px;font-size:.84rem;display:flex}.ctx-candidate:last-child{border-bottom:none}.ctx-candidate.selected{background:var(--primary-soft)}.ctx-candidate-id{color:#16a34a;flex-shrink:0;font-family:monospace;font-size:.76rem}.ctx-candidate-label{flex-shrink:0;font-weight:600}.ctx-candidate-desc{color:var(--text-soft);flex:1;font-size:.78rem}.ctx-source-row{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:flex-start;gap:6px;margin-bottom:6px;padding:8px 10px;font-size:.84rem;display:flex}.ctx-source-row.checked{border-color:var(--primary);background:var(--primary-soft)}.ctx-diff{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:.78rem;display:flex}.ctx-diff-before{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;max-width:180px;text-decoration:line-through;overflow:hidden}.ctx-diff-arrow{color:var(--primary)}.ctx-diff-after{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.overview-signals-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:18px;display:grid}.overview-alerts-activity-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;display:grid}@media (max-width:768px){.overview-signals-grid,.overview-alerts-activity-grid{grid-template-columns:1fr}}.health-pill-state{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;margin-top:2px;padding:1px 5px;font-size:.67rem;font-weight:700;display:inline-block}.health-pill.ok .health-pill-state{color:#166534;background:#dcfce7}.health-pill.warn .health-pill-state{color:#78350f;background:#fef3c7}.health-pill.error .health-pill-state{color:#991b1b;background:#fee2e2}.health-pill.muted .health-pill-state{background:var(--surface-muted);color:var(--text-soft)}.signals-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.signals-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:5px 0;font-size:.85rem;display:flex}.signals-row:last-child{border-bottom:none}.signals-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:72%;overflow:hidden}.signals-count{color:var(--primary);flex-shrink:0;font-size:.92rem;font-weight:600}.signals-more{color:var(--text-soft);margin-top:6px;font-size:.78rem;font-style:italic}.signals-bar-row{gap:8px}.signals-bar-track{background:var(--bg-alt);border-radius:3px;flex:1;min-width:40px;height:6px;overflow:hidden}.signals-bar-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s;display:block}.signals-threat-badge{border-radius:10px;padding:1px 7px;font-size:.78rem;font-weight:600;display:inline-block}.threat-critical{color:#b91c1c;background:#fee2e2}.threat-high{color:#c2410c;background:#ffedd5}.threat-medium{color:#92400e;background:#fef9c3}.threat-low{color:#15803d;background:#dcfce7}.threat-info{background:var(--bg-alt);color:var(--text-soft)}.section-meta{color:var(--text-soft);font-size:.78rem}.rss-registry-panel{border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;padding:12px}.rss-registry-list{flex-direction:column;gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rss-registry-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-size:.83rem;display:flex}.rss-registry-item:hover{border-color:var(--primary)}.rss-registry-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.rss-registry-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.rss-registry-url{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;overflow:hidden}.rss-registry-meta{flex-shrink:0;gap:4px;display:flex}.rss-registry-badge{color:var(--primary);background:#7fb9f026;border-radius:4px;padding:1px 5px;font-size:.68rem;font-weight:700}.assistant-page{padding:0 0 2rem}.assistant-view{margin-top:.5rem}.assistant-tabs{gap:4px;margin-bottom:1rem;display:flex}.assistant-tab{border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.9rem}.assistant-tab:hover{background:var(--bg-hover)}.assistant-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.assistant-intro{color:var(--text-soft);margin:0 0 1.5rem;font-size:.95rem}.assistant-chat{margin-top:1rem}.assistant-chat-messages{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:200px;max-height:400px;margin:1rem 0;padding:1rem;overflow-y:auto}.assistant-chat-empty{color:var(--text-soft);margin:0;font-size:.9rem}.assistant-chat-bubble{max-width:90%;margin-bottom:12px}.assistant-chat-bubble--user{margin-left:auto}.assistant-chat-bubble-content{white-space:pre-wrap;border-radius:12px;padding:10px 14px;font-size:.95rem}.assistant-chat-bubble--user .assistant-chat-bubble-content{background:var(--primary);color:#fff}.assistant-chat-bubble--assistant .assistant-chat-bubble-content{background:var(--bg-soft);border:1px solid var(--border)}.assistant-chat-sources{margin-top:8px;padding-left:4px}.assistant-chat-sources-label{color:var(--text-soft);margin-right:6px;font-size:.75rem}.assistant-chat-source-badge{color:#0369a1;background:#e0f2fe;border-radius:4px;margin:2px 4px 2px 0;padding:2px 8px;font-size:.72rem;display:inline-block}.assistant-chat-error{color:var(--danger);margin:8px 0;font-size:.9rem}.assistant-chat-input-row{align-items:center;gap:10px;display:flex}.assistant-chat-input{border:1px solid var(--border);border-radius:8px;flex:1;padding:10px 14px}.assistant-wizard{max-width:900px;margin:0 auto}.assistant-stepper{flex-wrap:wrap;gap:4px;margin-bottom:1.5rem;display:flex}.assistant-step{border:1px solid var(--border,#e5e7eb);background:var(--bg-soft,#f9fafb);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;display:flex}.assistant-step:hover{background:var(--bg-hover,#f3f4f6)}.assistant-step.active{background:var(--primary);color:#fff;border-color:var(--primary)}.assistant-step.done{border-color:var(--success);background:#dcfce7}.assistant-step-num{font-weight:700}.assistant-panel-title{margin:0 0 4px;font-size:1.2rem}.assistant-panel-desc{color:var(--text-soft);margin:0 0 1rem;font-size:.9rem}.assistant-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.assistant-form-grid label{flex-direction:column;gap:4px;display:flex}.assistant-form-grid input{border:1px solid var(--border);border-radius:6px;padding:8px 12px}.assistant-actions{flex-wrap:wrap;gap:10px;margin-top:1rem;display:flex}.assistant-message{border-radius:6px;margin-bottom:1rem;padding:8px 12px}.assistant-message.ok{color:#166534;background:#dcfce7}.assistant-message.error{color:#991b1b;background:#fee2e2}.assistant-sources-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (max-width:640px){.assistant-sources-grid{grid-template-columns:1fr}}.assistant-sources-list{margin:0 0 1rem;padding:0;list-style:none}.assistant-sources-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.assistant-sources-list .source-name{flex:1;min-width:0}.assistant-sources-list .source-meta{color:var(--text-soft);font-size:.8rem}.assistant-sources-list .badge.ok{color:#166534;background:#dcfce7;border-radius:4px;padding:2px 8px;font-size:.75rem}.assistant-sources-list .muted{color:var(--text-soft);font-size:.9rem}.entity-list{margin:1rem 0}.entity-add-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.entity-add-bar input{border:1px solid var(--border);border-radius:6px;flex:1;min-width:120px;padding:6px 10px}.wd-candidates{margin:4px 0 0;padding:0;list-style:none}.wd-candidates li{margin:2px 0}.wd-candidates button{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;width:100%;padding:4px 8px}.wd-candidates button:hover{background:var(--bg-hover)}.wd-id{color:var(--text-soft);margin-left:6px;font-size:.75rem}.entity-items{margin:0;padding:0;list-style:none}.entity-items li.entity-item-row{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 0;display:flex}.entity-main-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entity-label-input{border:1px solid var(--border);border-radius:6px;flex:1;min-width:140px;padding:6px 10px}.entity-aliases-input{border:1px solid var(--border);width:100%;color:var(--text-soft);border-radius:6px;padding:4px 10px;font-size:.85rem}.assistant-wizard .wd-link{color:var(--primary);font-size:.8rem}.keyword-list{margin:1rem 0}.keyword-add-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.keyword-add-bar input[type=text]{border:1px solid var(--border);border-radius:6px;flex:1;min-width:120px;padding:6px 10px}.keyword-add-bar input[type=number]{border:1px solid var(--border);border-radius:6px;width:60px;padding:6px}.keyword-items{margin:0;padding:0;list-style:none}.keyword-items li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.keyword-term-input{border:1px solid var(--border);border-radius:6px;flex:1;min-width:140px;padding:6px 10px}.keyword-weight-input{border:1px solid var(--border);border-radius:6px;width:60px;padding:6px}.assistant-alerts{flex-direction:column;gap:8px;margin-bottom:1rem;display:flex}.assistant-alert{border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:.85rem;display:flex}.assistant-alert.warn{color:#664d03;background:#fff3cd;border:1px solid #ffc107}.assistant-alert.info{color:#055160;background:#cff4fc;border:1px solid #0dcaf0}.assistant-alert-title{font-weight:600;display:block}.assistant-alert-sub{opacity:.85;margin-top:2px;display:block}.assistant-advanced{border:1px solid var(--border);border-radius:8px;margin:1rem 0 .5rem;padding:0}.assistant-advanced[open]{padding:0 0 12px}.assistant-advanced-title{cursor:pointer;color:var(--text-soft);padding:10px 14px;font-size:.85rem;font-weight:600}.assistant-policy-grid{flex-direction:column;gap:10px;padding:0 14px;display:flex}.assistant-policy-grid label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.assistant-policy-grid label span{color:var(--text-soft);font-weight:500}.assistant-policy-grid input{border:1px solid var(--border);border-radius:6px;padding:6px 10px}.assistant-propagate-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.assistant-propagate-section h3{margin:0 0 6px;font-size:.95rem}.filter-active-badge{background:var(--primary);color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:5px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.pipeline-action-group-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft);white-space:nowrap;padding:0 2px;font-size:.68rem;font-weight:700}.pipeline-toast{border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;font-size:.86rem;font-weight:500;animation:.2s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pipeline-toast--ok{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.pipeline-toast--error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca}.pipeline-toast-close{cursor:pointer;color:inherit;opacity:.55;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.pipeline-toast-close:hover{opacity:1}.full-pipeline-btn{white-space:nowrap;font-weight:600}.full-pipeline-progress{margin:8px 0;padding:12px 16px}.full-pipeline-steps{flex-direction:column;gap:4px;display:flex}.full-pipeline-step{color:var(--text-soft);align-items:center;gap:8px;padding:3px 0;font-size:.85rem;display:flex}.full-pipeline-step.active{color:var(--primary);font-weight:600}.full-pipeline-step.completed{color:#166534}.full-pipeline-step.error{color:#991b1b}.full-pipeline-step-icon{text-align:center;flex-shrink:0;width:20px}.full-pipeline-step-label{min-width:120px}.full-pipeline-step-detail{color:var(--text-soft);font-size:.8rem}.nav-group{flex-direction:column;gap:2px;margin-top:4px;display:flex}.nav-group-label{text-transform:uppercase;letter-spacing:.1em;color:#7fb9f0bf;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:6px 12px 2px;font-size:.62rem;font-weight:700}.sidebar.collapsed .nav-group-label{display:none}.nav-item-tenant{color:#9fc0e0b3;border-radius:10px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 12px;font-size:.88rem;display:flex}.nav-item-tenant:hover{color:#dbe8f7;background:#7fb9f01a}.sidebar-project-name{color:#9fc0e0;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #7fb9f059;margin:8px 0 4px;padding:6px 12px;font-size:.82rem;font-weight:600;overflow:hidden}.topbar-breadcrumb{align-items:center;gap:4px;margin:0 0 2px;font-size:.78rem;display:flex}.breadcrumb-link{color:var(--text-soft);text-decoration:none;transition:color .12s}.breadcrumb-link:hover{color:var(--primary);text-decoration:underline}.breadcrumb-sep{color:var(--border);-webkit-user-select:none;user-select:none;font-size:.9rem}.breadcrumb-current{color:var(--text);font-weight:600}.alerts-bell{border:1px solid var(--border);background:var(--surface-muted);cursor:pointer;border-radius:10px;align-items:center;gap:5px;height:34px;padding:0 10px;font-size:1rem;transition:border-color .15s;display:inline-flex;position:relative}.alerts-bell:hover{border-color:var(--primary)}.alerts-bell--critical{background:#fff1f2;border-color:#fca5a5;animation:1.8s ease-in-out infinite bell-pulse}@keyframes bell-pulse{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 4px #ef44442e}}.alerts-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.alerts-badge--critical{background:#dc2626}.alerts-panel{background:var(--surface);border:1px solid var(--border);z-index:500;border-radius:12px;width:320px;max-height:min(400px,60vh);position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #10182824}.alerts-panel-header{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--surface-muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:.82rem;font-weight:700;display:flex}.alerts-panel-close{cursor:pointer;color:var(--text-soft);opacity:.6;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.alerts-panel-close:hover{opacity:1}.alert-row{border-bottom:1px solid var(--border);color:var(--text);align-items:flex-start;gap:10px;padding:10px 14px;font-size:.84rem;text-decoration:none;transition:background .12s;display:flex}.alert-row:last-child{border-bottom:none}.alert-row:hover{background:var(--surface-muted)}.alert-row--critical{border-left:3px solid #dc2626}.alert-row--warning{border-left:3px solid #f59e0b}.alert-row--info{border-left:3px solid var(--primary)}.alert-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.alert-row--critical .alert-dot{background:#dc2626}.alert-row--warning .alert-dot{background:#f59e0b}.alert-row--info .alert-dot{background:var(--primary)}.alert-msg{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.45;display:-webkit-box;overflow:hidden}.alert-row--read{opacity:.5}.alert-row--read .alert-dot{background:var(--text-soft)!important}.alerts-mark-read{border:1px solid var(--border);cursor:pointer;color:var(--text-soft);text-transform:none;letter-spacing:0;background:0 0;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:500;transition:background .12s,color .12s}.alerts-mark-read:hover{background:var(--primary-soft);color:var(--primary)}.asana-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.asana-stats{gap:8px;display:flex}.asana-board{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.asana-column{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;overflow:hidden}.asana-column-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.asana-column-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:700;overflow:hidden}.asana-column-count{background:var(--primary-soft);color:var(--primary);border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.asana-column-body{flex-direction:column;gap:6px;max-height:600px;padding:8px;display:flex;overflow-y:auto}.asana-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.asana-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0f4c8114}.asana-card--done{opacity:.55}.asana-card-top{align-items:flex-start;gap:6px;display:flex}.asana-check{color:var(--text-soft);flex-shrink:0;font-size:.85rem}.asana-check.checked{color:var(--accent)}.asana-card-name{font-size:.84rem;font-weight:500;line-height:1.4}.asana-card-meta{color:var(--text-soft);flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:20px;font-size:.75rem;display:flex}.asana-card-assignee{font-weight:600}.asana-card-due{font-family:monospace}.asana-empty{text-align:center;color:var(--text-soft);padding:20px 10px;font-size:.84rem}.ctx-summary-card{padding:14px 18px}.ctx-summary-body{flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px;display:flex}.ctx-summary-stats{align-items:baseline;gap:8px;font-size:.88rem;display:flex}.ctx-summary-stat{align-items:baseline;gap:4px;display:flex}.ctx-summary-stat-value{color:var(--text);font-size:1.1rem;font-weight:700}.ctx-summary-stat-label{color:var(--text-soft);font-size:.82rem}.ctx-summary-divider{color:var(--border);font-weight:300}.ctx-summary-desc{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;max-width:50ch;margin:0;font-size:.82rem;overflow:hidden}.ctx-summary-updated{color:var(--text-soft);margin-left:auto;font-size:.75rem}.wm-map-layout{flex-direction:column;gap:12px;display:flex}.wm-map-toolbar{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.wm-map-toolbar-group{align-items:center;gap:4px;display:flex}.wm-map-toolbar-label{color:var(--text-soft,#64748b);margin-right:2px;font-size:.78rem;font-weight:600}.wm-map-toolbar-count{color:var(--text-soft,#64748b);margin-left:auto;font-size:.78rem}.wm-map-btn{border:1px solid var(--border,#e2e8f0);background:var(--bg,#f8fafc);color:var(--text,#1e293b);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:all .15s}.wm-map-btn:hover{background:var(--bg-hover,#f1f5f9)}.wm-map-btn.active{background:var(--accent,#3b82f6);color:#fff;border-color:var(--accent,#3b82f6)}.wm-map-select{border:1px solid var(--border,#e2e8f0);background:var(--bg,#f8fafc);color:var(--text,#1e293b);border-radius:6px;padding:4px 8px;font-size:.78rem}.wm-map-main{gap:12px;min-height:480px;display:flex}.wm-map-container{border:1px solid var(--border,#e2e8f0);background:#0f1729;border-radius:10px;flex:1;min-width:0;position:relative;overflow:hidden}.wm-map-svg{cursor:grab;width:100%;height:100%;display:block}.wm-map-svg:active{cursor:grabbing}.wm-map-tooltip{z-index:100;background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);pointer-events:none;border-radius:8px;max-width:320px;padding:8px 12px;font-size:.82rem;box-shadow:0 4px 16px #00000026}.wm-map-tooltip strong{margin-bottom:4px;line-height:1.3;display:block}.wm-map-tooltip-meta{color:var(--text-soft,#64748b);flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.wm-map-sidebar{flex-direction:column;flex-shrink:0;gap:10px;width:280px;max-height:600px;display:flex;overflow-y:auto}.wm-map-kpis{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wm-map-kpi{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);text-align:center;border-radius:8px;padding:10px}.wm-map-kpi-value{color:var(--text,#1e293b);font-size:1.5rem;font-weight:700;line-height:1}.wm-map-kpi-label{color:var(--text-soft,#64748b);margin-top:2px;font-size:.72rem}.wm-map-panel{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:12px}.wm-map-panel-title{color:var(--text,#1e293b);margin:0 0 8px;font-size:.82rem;font-weight:700}.wm-map-country-list{flex-direction:column;gap:5px;display:flex}.wm-map-country-row{align-items:center;gap:6px;font-size:.78rem;display:flex}.wm-map-country-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.wm-map-country-code{width:24px;color:var(--text,#1e293b);font-weight:700}.wm-map-country-bar{background:var(--bg-hover,#f1f5f9);border-radius:3px;flex:1;height:6px;overflow:hidden}.wm-map-country-bar-fill{border-radius:3px;height:100%;transition:width .3s}.wm-map-country-count{color:var(--text-soft,#64748b);text-align:right;min-width:20px;font-size:.72rem}.wm-map-detail-title{margin:0 0 8px;font-size:.85rem;font-weight:600;line-height:1.3}.wm-map-detail-meta{align-items:center;gap:6px;margin-bottom:8px;display:flex}.wm-map-detail-cat{color:var(--text-soft,#64748b);font-size:.75rem}.wm-map-detail-fields{color:var(--text,#1e293b);flex-direction:column;gap:3px;font-size:.78rem;display:flex}.wm-map-detail-link{color:var(--accent,#3b82f6);margin-top:6px;font-size:.78rem;text-decoration:none;display:inline-block}.wm-map-detail-link:hover{text-decoration:underline}.wm-map-headline-list{flex-direction:column;gap:4px;display:flex}.wm-map-headline{cursor:pointer;border-radius:4px;align-items:flex-start;gap:6px;padding:4px 6px;font-size:.75rem;transition:background .1s;display:flex}.wm-map-headline:hover,.wm-map-headline.selected{background:var(--bg-hover,#f1f5f9)}.wm-map-headline-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px}.wm-map-headline-text{color:var(--text,#1e293b);flex:1;line-height:1.3}.wm-map-headline-time{color:var(--text-soft,#64748b);white-space:nowrap;font-size:.68rem}@media (max-width:768px){.wm-map-main{flex-direction:column}.wm-map-sidebar{width:100%;max-height:none}.wm-map-container{min-height:300px}}.gdelt-intel{flex-direction:column;gap:16px;display:flex}.gdelt-intel-controls{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.gdelt-control-group{align-items:center;gap:6px;display:flex}.gdelt-control-group .form-section-label{white-space:nowrap;margin:0;font-size:.78rem}.gdelt-section{padding:16px}.gdelt-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.gdelt-section-header h3{margin:0;font-size:1rem;font-weight:600}.gdelt-toggle-group{border:1px solid var(--border);border-radius:6px;gap:0;display:flex;overflow:hidden}.gdelt-toggle{background:var(--surface);color:var(--text-soft);cursor:pointer;border:none;padding:4px 12px;font-size:.78rem;transition:all .15s}.gdelt-toggle:not(:last-child){border-right:1px solid var(--border)}.gdelt-toggle.active{background:var(--primary);color:#fff}.gdelt-toggle:hover:not(.active){background:var(--surface-muted)}.gdelt-timeline-svg{width:100%;height:auto;max-height:220px}.gdelt-skeleton{background:linear-gradient(90deg,var(--surface-muted)25%,var(--bg)50%,var(--surface-muted)75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite gdelt-shimmer}@keyframes gdelt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gdelt-geo-table{max-height:400px;overflow-y:auto}.gdelt-bar-container{background:var(--surface-muted);border-radius:3px;width:100%;height:14px;overflow:hidden}.gdelt-bar{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.gdelt-context-feed{flex-direction:column;gap:10px;max-height:500px;display:flex;overflow-y:auto}.gdelt-context-card{background:var(--surface-muted);border-left:3px solid var(--primary);border-radius:8px;padding:12px 14px;transition:background .15s}.gdelt-context-card:hover{background:var(--bg)}.gdelt-context-text{color:var(--text);margin-bottom:6px;font-size:.88rem;font-style:italic;line-height:1.5}.gdelt-context-meta{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:10px;font-size:.75rem;display:flex}.gdelt-context-source{font-weight:600}.gdelt-context-link{color:var(--primary);text-decoration:none}.gdelt-context-link:hover{text-decoration:underline}.detail-social-image{border-radius:8px;max-width:100%;margin:8px 0}.live-layout{flex-direction:column;gap:12px;display:flex}.live-main{gap:12px;min-height:500px;display:flex}.live-grid{flex:1;align-content:start;gap:8px;display:grid}.live-empty{min-height:300px;color:var(--text-soft,#64748b);background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px;grid-column:1/-1;justify-content:center;align-items:center;font-size:.9rem;display:flex}.live-player{border:1px solid var(--border,#1e293b);background:#000;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.live-player-header{background:#111827;align-items:center;gap:6px;padding:5px 8px;font-size:.75rem;display:flex}.live-player-status{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:700}.live-player-status--playing{color:#fff;background:#dc2626}.live-player-status--loading{color:#fff;background:#ca8a04}.live-player-status--error{color:#9ca3af;background:#374151}.live-player-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.live-player-lang{color:#6b7280;font-size:.68rem}.live-player-actions{gap:2px;display:flex}.live-player-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.85rem;line-height:1}.live-player-btn:hover{color:#fff}.live-player-video-wrap{background:#000;padding-top:56.25%;position:relative}.live-player-video{object-fit:contain;width:100%;height:100%;position:absolute;top:0;left:0}.live-player-error{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;font-size:.82rem;display:flex;position:absolute;top:0;left:0}.live-player-error small{color:#4b5563;font-size:.7rem}.live-sidebar{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-shrink:0;width:260px;max-height:600px;padding:12px;overflow-y:auto}.live-channel-list{flex-direction:column;gap:4px;display:flex}.live-channel-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:.78rem;transition:background .1s;display:flex}.live-channel-item:hover{background:var(--bg-hover,#f1f5f9)}.live-channel-item.active{background:#3b82f61a}.live-channel-dot{background:var(--border,#e2e8f0);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-channel-dot.on{background:#dc2626}.live-channel-info{flex:1;min-width:0}.live-channel-name{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.live-channel-desc{color:var(--text-soft,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;display:block;overflow:hidden}.live-channel-region{color:var(--text-soft,#64748b);white-space:nowrap;font-size:.65rem}.live-player--audio-active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.live-player-btn--audio-on{color:#3b82f6!important}.live-player-volume-wrap{align-items:center;display:inline-flex;position:relative}.live-player-volume-slider{accent-color:#3b82f6;cursor:pointer;vertical-align:middle;width:60px;height:4px;margin-left:2px}.radio-bar{background:#111827;border:1px solid #1e293b;border-radius:8px;padding:8px 12px}.radio-bar-title{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.7rem;font-weight:700}.radio-bar-players{flex-wrap:wrap;gap:8px;display:flex}.radio-player{background:#1e293b;border-radius:6px;align-items:center;gap:6px;min-width:200px;padding:6px 10px;font-size:.78rem;display:flex}.radio-player--playing{border:1px solid #3b82f6}.radio-player-toggle{color:#e2e8f0;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.radio-player-toggle:hover{color:#3b82f6}.radio-player-info{flex:1;min-width:0}.radio-player-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.radio-player-status{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;padding:1px 4px;font-size:.6rem;font-weight:700}.radio-player-status--playing{color:#dc2626}.radio-player-status--loading{color:#ca8a04}.radio-player-status--error{color:#6b7280}.radio-player-eq{align-items:flex-end;gap:2px;height:14px;display:flex}.radio-eq-bar{background:#3b82f6;border-radius:1px;width:3px;animation:.8s ease-in-out infinite alternate radio-eq}.radio-eq-bar:nth-child(2){animation-delay:.2s}.radio-eq-bar:nth-child(3){animation-delay:.4s}@keyframes radio-eq{0%{height:4px}to{height:14px}}.radio-player-volume{accent-color:#3b82f6;cursor:pointer;width:50px;height:3px}@media (max-width:768px){.live-main{flex-direction:column}.live-sidebar{width:100%;max-height:200px}.live-grid{grid-template-columns:1fr!important}.radio-bar-players{flex-direction:column}.radio-player{min-width:unset}}.docs-wrapper{gap:1.5rem;min-height:400px;display:flex}.docs-sidebar{border-right:1px solid var(--border,#e2e8f0);flex-shrink:0;width:240px;max-height:calc(100vh - 200px);padding-right:1rem;position:sticky;top:80px;overflow-y:auto}.docs-content{flex:1;min-width:0}.docs-tree{margin:0;padding:0;font-size:.82rem;list-style:none}.docs-tree-children{margin:0;padding-left:1rem;list-style:none}.docs-tree-dir{margin-bottom:2px}.docs-tree-file{margin-bottom:1px}.docs-tree-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text,#1e293b);background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-size:.82rem;font-weight:600;display:flex}.docs-tree-toggle:hover{background:var(--bg-hover,#f1f5f9)}.docs-tree-arrow{width:12px;font-size:.7rem;display:inline-block}.docs-tree-link{color:var(--text-soft,#64748b);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:3px 6px 3px 16px;text-decoration:none;display:block;overflow:hidden}.docs-tree-link:hover{background:var(--bg-hover,#f1f5f9);color:var(--text,#1e293b)}.docs-tree-link.active{background:var(--accent-bg,#eff6ff);color:var(--accent,#2563eb);font-weight:600}.docs-breadcrumb{color:var(--text-soft,#64748b);margin-bottom:1rem;font-size:.78rem}.docs-breadcrumb a{color:var(--accent,#2563eb);text-decoration:none}.docs-breadcrumb a:hover{text-decoration:underline}.docs-index-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.docs-index-card{background:var(--card-bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:1rem 1.2rem}.docs-index-card h3{color:var(--text,#1e293b);margin:0 0 .5rem;font-size:.9rem}.docs-index-card ul{margin:0;padding:0;list-style:none}.docs-index-card li{padding:2px 0}.docs-index-card a{color:var(--accent,#2563eb);font-size:.82rem;text-decoration:none}.docs-index-card a:hover{text-decoration:underline}.docs-more{color:var(--text-soft,#94a3b8);font-size:.78rem;font-style:italic}.prose h1{color:var(--text,#1e293b);border-bottom:1px solid var(--border,#e2e8f0);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.prose h2{color:var(--text,#1e293b);margin:1.5rem 0 .75rem;font-size:1.25rem;font-weight:600}.prose h3{color:var(--text,#334155);margin:1.2rem 0 .5rem;font-size:1.05rem;font-weight:600}.prose h4{color:var(--text-soft,#475569);margin:1rem 0 .4rem;font-size:.95rem;font-weight:600}.prose p{color:var(--text,#334155);margin:.6rem 0;font-size:.88rem;line-height:1.65}.prose ul,.prose ol{margin:.5rem 0;padding-left:1.5rem;font-size:.88rem}.prose li{margin:.2rem 0;line-height:1.55}.prose a{color:var(--accent,#2563eb);text-decoration:none}.prose a:hover{text-decoration:underline}.prose code{background:var(--bg-muted,#f1f5f9);color:var(--text,#1e293b);border-radius:3px;padding:1px 5px;font-size:.82rem}.prose pre{background:var(--bg-muted,#1e293b);color:#e2e8f0;border-radius:6px;margin:.8rem 0;padding:1rem;font-size:.8rem;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;margin:.8rem 0;font-size:.82rem}.prose th,.prose td{border:1px solid var(--border,#e2e8f0);text-align:left;padding:6px 10px}.prose th{background:var(--bg-muted,#f8fafc);font-weight:600}.prose blockquote{border-left:3px solid var(--accent,#2563eb);color:var(--text-soft,#64748b);background:var(--bg-muted,#f8fafc);border-radius:0 4px 4px 0;margin:.8rem 0;padding:.5rem 1rem}.prose hr{border:none;border-top:1px solid var(--border,#e2e8f0);margin:1.5rem 0}.prose img{border-radius:4px;max-width:100%}.prose strong{font-weight:600}@media (max-width:768px){.docs-wrapper{flex-direction:column}.docs-sidebar{border-right:none;border-bottom:1px solid var(--border,#e2e8f0);width:100%;max-height:200px;margin-bottom:1rem;padding-bottom:.5rem;padding-right:0;position:static}}.btn{cursor:pointer;border:1px solid var(--border,#d1d5db);background:var(--bg,#fff);color:var(--text,#1e293b);border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary,#3b82f6);color:#fff;border-color:var(--primary,#3b82f6)}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary{color:var(--text-soft,#64748b);border-color:var(--border,#d1d5db);background:0 0}.btn-secondary:hover:not(:disabled){background:#f8fafc}.form-group{margin-bottom:14px}.form-label{color:var(--text-soft,#64748b);margin-bottom:4px;font-size:.82rem;font-weight:500;display:block}.form-input{border:1px solid var(--border,#d1d5db);background:var(--bg,#fff);width:100%;color:var(--text,#1e293b);border-radius:6px;outline:none;padding:8px 12px;font-size:.875rem;transition:border-color .15s;display:block}.form-input:focus{border-color:var(--primary,#3b82f6);box-shadow:0 0 0 2px #3b82f626}.form-input:disabled{cursor:not-allowed;background:#f1f5f9}textarea.form-input{resize:vertical;min-height:60px}select.form-input{cursor:pointer}.form-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:.85rem}.form-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:8px 12px;font-size:.85rem}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg,#fff);border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:24px;animation:.2s slideUp;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-close{cursor:pointer;color:var(--text-soft,#64748b);background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--text,#1e293b)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.badge.danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.wm-dash{flex-direction:column;gap:16px;display:flex}.wm-dash-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.wm-dash-updated{color:var(--text-soft,#64748b);font-size:.8rem}.wm-dash-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:1100px){.wm-dash-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.wm-dash-grid{grid-template-columns:1fr}}.wm-dash-widget{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);box-shadow:var(--shadow,0 1px 3px #0000000f);min-height:160px;color:inherit;cursor:pointer;border-radius:14px;flex-direction:column;gap:10px;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.wm-dash-widget:hover{border-color:var(--primary,#2563eb);box-shadow:0 2px 12px #00000014}div.wm-dash-widget{cursor:default}div.wm-dash-widget:hover{border-color:var(--border,#e2e8f0);box-shadow:var(--shadow,0 1px 3px #0000000f)}.wm-dash-widget-header{justify-content:space-between;align-items:baseline;display:flex}.wm-dash-widget-title{color:var(--text,#1e293b);margin:0;font-size:.85rem;font-weight:600}.wm-dash-widget-link{color:var(--primary,#2563eb);font-size:.72rem;font-weight:500}.wm-dash-widget-meta{color:var(--text-soft,#64748b);font-size:.72rem;font-weight:600}.wm-dash-widget-empty{color:var(--text-soft,#64748b);flex:1;justify-content:center;align-items:center;margin:0;font-size:.82rem;display:flex}.wm-dash-kpi-row{flex-wrap:wrap;gap:16px;display:flex}.wm-dash-kpi{flex-direction:column;gap:2px;display:flex}.wm-dash-kpi-value{font-size:1.4rem;font-weight:700;line-height:1.1}.wm-dash-kpi-label{color:var(--text-soft,#64748b);font-size:.72rem}.wm-dash-threat-row{flex-wrap:wrap;gap:6px;display:flex}.wm-dash-map-placeholder{flex:1;min-height:80px;position:relative}.wm-dash-map-svg{background:var(--surface,#fff);border-radius:6px;width:100%;height:auto}.wm-dash-map-count{color:var(--text-soft,#64748b);background:var(--surface,#fff);border-radius:4px;padding:1px 5px;font-size:.68rem;position:absolute;bottom:4px;right:6px}.threat-dot-critical{fill:#ef4444}.threat-dot-high{fill:#f59e0b}.threat-dot-medium{fill:#3b82f6}.threat-dot-low{fill:#22c55e}.threat-dot-info{fill:#94a3b8}.wm-dash-breaking-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wm-dash-breaking-item{flex-direction:column;gap:2px;display:flex}.wm-dash-breaking-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.wm-dash-breaking-meta{color:var(--text-soft,#64748b);font-size:.72rem}.wm-dash-stream-types{flex-wrap:wrap;gap:6px;display:flex}.wm-dash-stream-pill{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);color:var(--text-soft,#64748b);border-radius:10px;padding:2px 8px;font-size:.72rem}.wm-dash-alerts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wm-dash-alert-item{align-items:flex-start;gap:8px;display:flex}.wm-dash-alert-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.alert-dot-critical{background:#ef4444}.alert-dot-warning{background:#f59e0b}.alert-dot-info{background:#3b82f6}.wm-dash-alert-msg{color:var(--text,#1e293b);font-size:.82rem;line-height:1.3;text-decoration:none}.wm-dash-alert-msg:hover{text-decoration:underline}.wm-dash-cat-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wm-dash-cat-row{justify-content:space-between;align-items:center;display:flex}.wm-dash-cat-label{color:var(--text,#1e293b);font-size:.82rem}.wm-dash-cat-count{color:var(--text-soft,#64748b);font-size:.82rem;font-weight:600}.wm-dash-empty{text-align:center;color:var(--text-soft,#64748b);padding:40px 20px}
