:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#172033;background:#f5f7fb;font-synthesis:none;
  --nav:#0f172a;--nav2:#111c35;--accent:#4f46e5;--accent-soft:#eef2ff;
  --line:#e5e7eb;--muted:#667085;--success:#067647;--success-bg:#ecfdf3;
  --danger:#b42318;--danger-bg:#fef3f2;--warn:#b54708;--warn-bg:#fffaeb;
  --card:#fff;--shadow:0 10px 30px rgba(15,23,42,.06)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#f5f7fb}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{background:linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.logo{display:flex;gap:11px;align-items:center;padding:0 8px 18px}
.logo-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#818cf8,#4338ca);display:grid;place-items:center;font-weight:800}
.logo h1{font-size:16px;margin:0}.logo p{font-size:11px;margin:3px 0 0;color:#94a3b8}
.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;padding:17px 10px 7px}
.nav-btn{width:100%;border:0;background:transparent;color:#cbd5e1;padding:10px 11px;border-radius:10px;display:flex;gap:10px;align-items:center;text-align:left;margin:2px 0;font-weight:620}
.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.08);color:#fff}
.nav-dot{width:7px;height:7px;border-radius:99px;background:#64748b}.nav-btn.active .nav-dot{background:#a5b4fc}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:15px 8px 0}
.user-mini{font-size:12px;color:#cbd5e1}.user-mini strong{display:block;color:#fff;margin-bottom:2px}
.logout{border:0;background:transparent;color:#94a3b8;padding:8px 0;font-size:12px}
.main{min-width:0}
.topbar{min-height:76px;height:auto;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 28px;position:sticky;top:0;z-index:10}.topbar select{border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;padding:6px 8px;font-size:11px;max-width:180px}
.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb strong{color:#172033}
.health{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--success-bg);color:var(--success)}
.content{padding:26px;max-width:1600px;margin:0 auto}
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.page-head h2{font-size:27px;letter-spacing:-.03em;margin:0 0 6px}.page-head p{margin:0;color:var(--muted);font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1px solid #d0d5dd;background:#fff;padding:9px 13px;border-radius:9px;font-weight:650;color:#344054}
.btn:hover{background:#f9fafb}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{color:var(--danger)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.card .label{font-size:12px;color:var(--muted)}.card .value{font-size:27px;font-weight:760;margin-top:7px}.card .hint{font-size:11px;color:#98a2b3;margin-top:4px}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.03);overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:14px;margin:0}.panel-body{padding:17px}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #f1f3f5;vertical-align:top}th{font-size:10px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;background:#fafbfc}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#f2f4f7;color:#475467}
.badge.ACTIVE,.badge.SUCCEEDED,.badge.INDEXED,.badge.PASS{background:var(--success-bg);color:var(--success)}
.badge.FAILED,.badge.FAIL,.badge.DEGRADED{background:var(--danger-bg);color:var(--danger)}
.badge.QUEUED,.badge.WARN,.badge.BUILDING{background:var(--warn-bg);color:var(--warn)}
.empty{padding:38px;color:var(--muted);text-align:center}
.chat-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 310px;height:calc(100vh - 120px);min-height:620px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.chat-history{border-right:1px solid var(--line);padding:14px;background:#fafbfc;overflow:auto}.chat-history h3{font-size:12px;margin:3px 4px 12px;color:#475467}.conversation{padding:10px;border-radius:9px;font-size:12px;color:#475467;margin-bottom:4px}.conversation.active,.conversation:hover{background:#fff;color:#111827}
.chat-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff}.chat-title{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-title strong{font-size:14px}
.chat-messages{overflow:auto;padding:22px;background:linear-gradient(#fff,#fbfcff)}
.msg{display:flex;gap:10px;margin:0 0 18px;max-width:900px}.msg.user{margin-left:auto;flex-direction:row-reverse}.avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:800;background:#eef2ff;color:#4338ca;flex:0 0 auto}.msg.user .avatar{background:#172033;color:#fff}
.bubble{border:1px solid var(--line);border-radius:14px;padding:12px 14px;line-height:1.55;font-size:13px;white-space:normal;max-width:780px;background:#fff}.msg.user .bubble{background:#f6f7ff;border-color:#dfe3ff}
.answer-tools{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.tool-btn{border:0;background:#f2f4f7;color:#475467;border-radius:7px;padding:5px 8px;font-size:10px}.tool-btn:hover{background:#e4e7ec}
.chat-composer-wrap{border-top:1px solid var(--line);padding:13px 16px 10px;background:#fff}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.chat-composer textarea{border:1px solid #d0d5dd;border-radius:12px;min-height:72px;max-height:180px;resize:vertical;padding:11px 12px;outline:none}.chat-composer textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px #eef2ff}
.ai-disclosure{font-size:10.5px;line-height:1.4;color:#667085;margin:8px 2px 0;padding-left:18px;position:relative}.ai-disclosure:before{content:"AI";position:absolute;left:0;top:0;font-size:8px;font-weight:800;border:1px solid #98a2b3;border-radius:4px;padding:1px 2px}
.chat-side{border-left:1px solid var(--line);padding:16px;overflow:auto;background:#fafbfc}.chat-side h3{font-size:12px;margin:0 0 12px}.meta{padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.meta label{display:block;color:#98a2b3;margin-bottom:3px}
.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:16px}.profile-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.profile-item{padding:13px 14px;border-bottom:1px solid var(--line);cursor:pointer}.profile-item:hover,.profile-item.active{background:#f6f7ff}.profile-item strong{display:block;font-size:13px}.profile-item span{font-size:11px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:650;color:#475467}.field input,.field select,.field textarea{border:1px solid #d0d5dd;border-radius:9px;padding:9px 10px;background:#fff}.field textarea{min-height:230px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45}
.version-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f3f5;font-size:12px}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,#eef2ff,transparent 35%),#f8fafc;padding:20px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(15,23,42,.08)}.login-card h1{margin:0 0 7px;font-size:24px}.login-card p{color:var(--muted);font-size:13px;margin:0 0 20px}.login-card .field{margin-bottom:12px}.login-error{color:var(--danger);font-size:12px;margin-top:10px}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);display:grid;place-items:center;z-index:100;padding:20px}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-body{padding:18px}.modal h3{margin:0;font-size:15px}
.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:10px 13px;border-radius:9px;font-size:12px;z-index:200;box-shadow:var(--shadow)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
@media(max-width:1180px){.app{grid-template-columns:210px 1fr}.chat-layout{grid-template-columns:220px 1fr}.chat-side{display:none}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app{display:block}.sidebar{position:static;height:auto}.nav-section,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow:auto}.nav-btn{width:auto;white-space:nowrap}.content{padding:16px}.topbar{padding:0 16px}.grid-2,.grid-3,.profile-grid,.form-grid{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr;height:auto;min-height:650px}.chat-history{display:none}.cards{grid-template-columns:1fr 1fr}}


/* Platform V2 multi-tenant product UX */
.topbar-left{display:flex;align-items:center;gap:20px;min-width:0;flex:1}
.context-switcher{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.context-field{display:flex;flex-direction:column;gap:3px}
.context-field span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;font-weight:750}
.context-field select{min-width:145px;max-width:190px}
.context-summary{display:flex;align-items:center;gap:7px;padding:8px 28px;background:#f8fafc;border-bottom:1px solid var(--line);font-size:11px;color:#667085;position:sticky;top:76px;z-index:9}
.context-chip{background:#fff;border:1px solid #e4e7ec;border-radius:999px;padding:5px 9px;white-space:nowrap}
.context-chip.strong{color:#101828;font-weight:700}
.context-type,.role-chip,.scope-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:750;letter-spacing:.04em}
.context-type{background:#f2f4f7;color:#475467}
.role-chip{margin-left:auto;background:#eef2ff;color:#4338ca}
.scope-pill{background:#eef2ff;color:#4338ca}
.ctx-arrow{color:#98a2b3}
.health{display:flex;align-items:center;gap:7px;white-space:nowrap}
.health-dot,.status-dot{width:8px;height:8px;border-radius:999px;background:#12b76a;display:inline-block;flex:0 0 auto}
.status-dot.ok{background:#12b76a}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:20px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.metric-label{font-size:11px;color:#667085;font-weight:650}
.metric-value{font-size:25px;line-height:1.15;font-weight:770;margin-top:8px;color:#101828;overflow:hidden;text-overflow:ellipsis}
.metric-value.small{font-size:16px;line-height:1.3}
.metric-hint{font-size:10px;color:#98a2b3;margin-top:6px}
.panel-caption{font-size:10px;color:#98a2b3;font-weight:500}
.status-list{display:grid;gap:11px;font-size:12px;color:#344054}.status-list>div{display:flex;gap:9px;align-items:center}
.quick-actions{display:grid;gap:9px}
.quick-action{border:1px solid #e4e7ec;border-radius:11px;background:#fff;padding:12px 13px;text-align:left;display:flex;flex-direction:column;gap:3px;color:#344054}
.quick-action:hover{background:#f8f9ff;border-color:#c7d2fe}.quick-action b{font-size:12px}.quick-action span{font-size:10px;color:#98a2b3}

.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.entity-list{padding:8px;display:grid;gap:6px;max-height:520px;overflow:auto}
.entity-card{width:100%;border:1px solid transparent;background:#fff;border-radius:11px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;color:#344054}
.entity-card:hover{background:#f8f9ff;border-color:#e0e7ff}.entity-card.selected{background:#eef2ff;border-color:#c7d2fe}
.entity-card strong{display:block;font-size:12px;color:#101828}.entity-card span{display:block;font-size:10px;color:#98a2b3;margin-top:2px}
.entity-icon{width:31px;height:31px;border-radius:9px;background:#f2f4f7;display:grid;place-items:center;font-weight:800;font-size:11px;color:#475467}
.entity-card.selected .entity-icon{background:#4f46e5;color:#fff}
.entity-role{font-size:9px!important;color:#4338ca!important;background:#eef2ff;padding:3px 6px;border-radius:999px}
.onboarding-panel{margin-top:16px}
.flow{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:11px}.flow span{border:1px solid #e4e7ec;border-radius:8px;padding:6px 9px;background:#fafbfc}.flow b{color:#98a2b3}
.empty.compact{padding:18px}

.person{display:flex;align-items:center;gap:10px}.person>div:last-child strong{display:block}.person>div:last-child span{display:block;color:#98a2b3;font-size:10px;margin-top:2px}
.person-avatar{width:32px;height:32px;border-radius:999px;background:#eef2ff;color:#4338ca;display:grid;place-items:center;font-weight:800}
.btn.small{padding:5px 8px;font-size:10px}

@media(max-width:1180px){
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .org-grid{grid-template-columns:1fr 1fr}
  .context-summary{top:76px}
}
@media(max-width:820px){
  .topbar-left{display:block}
  .context-switcher{margin-top:7px}
  .context-field{flex:1;min-width:130px}
  .context-summary{position:static;padding:8px 16px;overflow:auto}
  .role-chip{margin-left:0}
  .org-grid{grid-template-columns:1fr}
  .metric-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .metric-grid{grid-template-columns:1fr}
  .context-switcher{display:grid;grid-template-columns:1fr}
}

.health.degraded{background:var(--warn-bg);color:var(--warn)}
.health.degraded .health-dot{background:#f79009}
.health.down{background:var(--danger-bg);color:var(--danger)}
.health.down .health-dot{background:#f04438}

.account-link{border:0;background:transparent;color:#cbd5e1;padding:8px 0;font-size:12px;display:block}
.account-link:hover{color:#fff}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.security-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.security-summary>div{border:1px solid #e4e7ec;border-radius:10px;padding:10px}
.security-summary span{display:block;font-size:10px;color:#98a2b3;margin-bottom:4px}
.security-summary strong{font-size:12px;color:#344054}
.membership-list{display:grid;gap:8px}
.membership-line{display:flex;align-items:center;justify-content:space-between;border:1px solid #e4e7ec;border-radius:10px;padding:10px 12px}
.membership-line strong{display:block;font-size:12px}.membership-line span{font-size:10px;color:#98a2b3}
.notice{border:1px solid #e4e7ec;background:#f8fafc;border-radius:10px;padding:10px 12px;margin-bottom:14px}
.notice strong{display:block;font-size:12px;color:#344054}.notice span{display:block;font-size:10px;color:#667085;margin-top:3px;line-height:1.4}
.notice.warn{background:#fffaeb;border-color:#fedf89}.notice.warn strong{color:#93370d}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #f1f3f5}
.temporary-password{display:flex;align-items:center;gap:10px;margin:16px 0;padding:12px;background:#101828;border-radius:10px}
.temporary-password code{font-size:15px;color:#fff;word-break:break-all;flex:1}
.table-actions{display:flex;gap:5px;flex-wrap:wrap}
.check-line{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:11px;color:#475467}
.field small{font-size:9px;color:#98a2b3}
@media(max-width:820px){.account-grid,.security-summary{grid-template-columns:1fr}}


/* Chat UX: dedicated scrollable transcript */
.chat-layout{
  height:calc(100vh - 250px);
  min-height:520px;
}
.chat-main{
  min-height:0;
  overflow:hidden;
}
.chat-messages{
  min-height:0;
  overflow-y:scroll;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-behavior:smooth;
}
.chat-messages::-webkit-scrollbar{width:11px}
.chat-messages::-webkit-scrollbar-track{background:#f2f4f7}
.chat-messages::-webkit-scrollbar-thumb{background:#c5cad3;border-radius:999px;border:3px solid #f2f4f7}
.chat-messages::-webkit-scrollbar-thumb:hover{background:#98a2b3}
.chat-messages{scrollbar-width:thin;scrollbar-color:#b8bec9 #f2f4f7}
.chat-composer-wrap{position:relative;z-index:2;box-shadow:0 -6px 18px rgba(16,24,40,.035)}
@media(max-width:820px){
  .chat-layout{height:calc(100vh - 210px);min-height:520px}
}

.bubble p{margin:0 0 9px}.bubble p:last-child{margin-bottom:0}
.bubble h2{font-size:16px;margin:16px 0 8px}.bubble h3{font-size:14px;margin:14px 0 7px}.bubble h4{font-size:13px;margin:12px 0 6px}
.bubble ul,.bubble ol{margin:6px 0 10px 20px;padding:0}.bubble li{margin:4px 0}
.bubble code{background:#f2f4f7;border-radius:5px;padding:1px 4px;color:#344054}
.md-gap{height:6px}
.md-table-wrap{overflow-x:auto;margin:10px 0;border:1px solid #e4e7ec;border-radius:10px}
.md-table{min-width:520px;margin:0;font-size:11px}.md-table th,.md-table td{padding:8px 10px;white-space:normal}.md-table th{background:#f8fafc}

/* Evidence Graph — browser inspector, responsive and read-only */
.graph-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1.6fr);gap:16px;margin-top:18px}
.graph-list{max-height:520px;overflow:auto}
.graph-entity{display:block;width:100%;padding:12px 16px;text-align:left;background:transparent;border:0;border-bottom:1px solid #e5e7eb;cursor:pointer;color:inherit}
.graph-entity strong{display:block;font-size:13px;overflow-wrap:anywhere}
.graph-entity span{display:block;color:#667085;font-size:11px;margin-top:4px}
.graph-entity.selected,.graph-entity:focus-visible{background:#eaf0ff;outline:2px solid #2563eb;outline-offset:-2px}
.graph-layout code{overflow-wrap:anywhere}
.graph-layout table{width:100%}
@media(max-width:900px){.graph-layout{grid-template-columns:minmax(0,1fr)}}


/* Evidence Graph — interactive, accessible, dependency-free visualization. */
.graph-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:18px 0 6px}
.graph-modes{display:flex;gap:5px;border:1px solid #d7e0ed;border-radius:9px;padding:4px;background:#fff}
.graph-modes .btn{min-width:80px}
.graph-filters{display:flex;align-items:end;gap:9px;flex:1;flex-wrap:wrap}
.graph-filter-field{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#475467}
.graph-filter-field input,.graph-filter-field select{height:37px;min-width:160px;border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:6px 9px;font-size:12px;color:#172033}
.graph-filter-field input{min-width:210px}
.graph-filter-field:focus-within input,.graph-filter-field:focus-within select{outline:2px solid #93c5fd;outline-offset:1px}
.graph-focus-active{background:#e8efff!important;border-color:#9db8ec!important;color:#204ea8!important}
.graph-results{color:#667085;font-size:12px;margin:7px 0 0}
.graph-layout.graph-layout-three{grid-template-columns:minmax(175px,.72fr) minmax(0,2.3fr) minmax(245px,1.1fr);gap:12px}
.graph-layout .panel{min-width:0;overflow:hidden}
.graph-entity-panel .graph-list{max-height:630px;overflow:auto}
.graph-visual-panel{display:flex;flex-direction:column}
.graph-visual-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.graph-zoom{display:flex;gap:5px;align-items:center}
.graph-zoom .btn{padding:6px 9px;font-size:12px;min-width:30px}
.graph-canvas{min-height:480px;background:#f8fbff;position:relative;flex:1;overflow:hidden}
.graph-svg{display:block;width:100%;height:100%;min-height:480px;max-height:680px;touch-action:none;cursor:grab;user-select:none}
.graph-svg.is-panning{cursor:grabbing}
.graph-surface{fill:#f8fbff}
.graph-node{cursor:pointer;outline:none;transition:opacity .12s ease}
.graph-node rect{stroke-width:1.7;filter:drop-shadow(0 2px 3px rgba(18,38,63,.09))}
.graph-node.is-selected rect{stroke:#1c4cbb;stroke-width:3.5;filter:drop-shadow(0 3px 5px rgba(19,69,167,.24))}
.graph-node.is-muted{opacity:.42}
.graph-node:focus-visible rect,.graph-edge-hit:focus-visible{outline:none;stroke:#ea580c;stroke-width:4}
.graph-node-name{font-size:11px;fill:#172033;font-weight:700;pointer-events:none}
.graph-node-type{font-size:9px;fill:#475467;pointer-events:none}
.graph-edge{fill:none;stroke:#9aaac2;stroke-width:1.8;pointer-events:none;opacity:.68}
.graph-edge.is-related{stroke:#5079bf;stroke-width:2.4;opacity:1}
.graph-edge.is-selected{stroke:#dc6a22;stroke-width:3.1;opacity:1}
.graph-edge.graph-evidence-link{stroke-dasharray:5 4}
.graph-edge-hit{fill:none;stroke:transparent;stroke-width:18;cursor:pointer;outline:none}
.graph-edge-label{font-size:10px;fill:#475467;paint-order:stroke;stroke:#f8fbff;stroke-width:4;stroke-linejoin:round;font-weight:650}
.graph-legend{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:11px 13px;border-top:1px solid #e5e7eb;font-size:11px;color:#475467}
.graph-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.graph-legend small{font-size:10px;color:#667085}
.graph-legend-dot{width:10px;height:10px;display:inline-block;background:#d8faf4;border:1px solid #087c76;border-radius:3px}
.graph-legend-line{width:17px;height:0;border-top:2px solid #8da0b9;display:inline-block}
.graph-legend-line.dashed{border-top-style:dashed}
.graph-canvas-empty{padding:35px;text-align:center;color:#667085}
.graph-inspector .panel-body{max-height:640px;overflow:auto}
.graph-inspector table{font-size:11px}
.graph-inspector th,.graph-inspector td{padding:9px 5px;overflow-wrap:anywhere}
.graph-relation{border:0;background:none;padding:0;color:#2959b8;text-decoration:underline;text-align:left;cursor:pointer;font-size:inherit}
.graph-relation:focus-visible{outline:2px solid #2959b8;outline-offset:2px}
@media(max-width:1350px){.graph-layout.graph-layout-three{grid-template-columns:minmax(155px,.65fr) minmax(0,2fr)}.graph-layout-three .graph-inspector{grid-column:1/-1}}
@media(max-width:900px){.graph-layout.graph-layout-three{grid-template-columns:minmax(0,1fr)}.graph-layout-three .graph-inspector{grid-column:auto}.graph-entity-panel .graph-list{max-height:230px}.graph-canvas,.graph-svg{min-height:350px}.graph-filters{width:100%}.graph-filter-field input{min-width:140px}}


/* Knowledge V1.1 — canvas-first layout, safe typography and visible review states */
.graph-layout.graph-layout-three.graph-list-collapsed{grid-template-columns:minmax(0,1fr) minmax(300px,350px)}
.graph-layout.graph-layout-three:not(.graph-list-collapsed){grid-template-columns:minmax(175px,220px) minmax(0,1fr) minmax(290px,340px)}
.graph-list-collapsed .graph-visual-panel{grid-column:1}
.graph-list-collapsed .graph-inspector{grid-column:2}
.graph-svg,.graph-canvas{min-height:550px}
.graph-svg{max-height:780px}
.graph-node-name{font-size:11px}
.graph-node-type{font-size:9px}
.graph-edge.is-hovered{stroke:#dc6a22;stroke-width:3.2;opacity:1}
.graph-edge-label{font-size:10px}
.graph-review-pill{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;border-radius:7px;padding:3px 7px;background:#fff3d9;color:#875207;font-size:11px;font-weight:650;line-height:1.4}
.graph-inspector .meta{overflow-wrap:anywhere}
.graph-inspector .meta label{font-size:11px}
.graph-inspector strong{overflow-wrap:anywhere;word-break:normal}
.graph-inspector table td:last-child{min-width:95px}
.graph-inspector .panel-body{max-height:750px}
@media(max-width:1300px){
  .graph-layout.graph-layout-three.graph-list-collapsed{grid-template-columns:minmax(0,1fr) minmax(265px,310px)}
  .graph-layout.graph-layout-three:not(.graph-list-collapsed){grid-template-columns:minmax(160px,200px) minmax(0,1fr)}
  .graph-layout.graph-layout-three:not(.graph-list-collapsed) .graph-inspector{grid-column:1/-1}
}
@media(max-width:900px){
  .graph-layout.graph-layout-three.graph-list-collapsed,.graph-layout.graph-layout-three:not(.graph-list-collapsed){grid-template-columns:minmax(0,1fr)}
  .graph-list-collapsed .graph-inspector,.graph-list-collapsed .graph-visual-panel{grid-column:auto}
  .graph-svg,.graph-canvas{min-height:380px}
}
