:root {
  --bg: #070d10;
  --bg-2: #0b1317;
  --panel: #10191e;
  --panel-2: #121e24;
  --panel-3: #172329;
  --line: #243239;
  --line-soft: rgba(255,255,255,.07);
  --text: #eef2f3;
  --muted: #8f9ba0;
  --green: #94c11f;
  --green-2: #b2dc36;
  --green-dark: #638514;
  --warning: #dcae45;
  --blue: #6ba8bd;
  --shadow: 0 24px 70px rgba(0,0,0,.34);
  --radius: 14px;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); }
body { min-height: 100vh; }
button, input { font: inherit; }
button { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hidden { display: none !important; }

/* LOGIN */
.login-screen { min-height: 100vh; display:flex; align-items:center; justify-content:center; background:
  radial-gradient(circle at 50% 42%, rgba(148,193,31,.055), transparent 26%),
  linear-gradient(145deg,#0b1317 0%,#080e11 58%,#060a0c 100%); }
.login-brand-panel { position: relative; overflow: hidden; display: flex; align-items: center; min-height: 100vh; padding: 64px 6vw; background:
  radial-gradient(circle at 72% 38%, rgba(148,193,31,.065), transparent 35%),
  linear-gradient(145deg, #0d171b 0%, #081014 62%, #060b0d 100%); border-right: 1px solid rgba(148,193,31,.12); }
.login-brand-panel:after { content:""; position:absolute; left:0; right:0; bottom:0; height:28%; opacity:.08; background:
  linear-gradient(to top, rgba(148,193,31,.20), transparent 75%); clip-path:polygon(0 82%,14% 66%,28% 73%,43% 50%,58% 62%,75% 35%,100% 52%,100% 100%,0 100%); }
.brand-grid { position:absolute; inset:0; opacity:.055; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 72px 72px; mask-image:linear-gradient(to bottom,black,transparent 75%); }
.brand-glow { display:none; }
.login-brand-content { position:relative; z-index:2; width:min(510px,100%); }
.login-logo { width: 185px; max-height: 210px; object-fit: contain; object-position:left center; filter: drop-shadow(0 16px 22px rgba(0,0,0,.38)); margin-bottom:42px; }
.eyebrow,.section-kicker,.panel-label { color:var(--green); font-size:11px; letter-spacing:.18em; font-weight:800; margin:0 0 10px; }
.brand-copy h1 { margin:0; font-size:clamp(37px,3.55vw,58px); line-height:1.02; text-transform:uppercase; letter-spacing:-.035em; font-family:"Arial Narrow","Segoe UI",sans-serif; font-stretch:condensed; font-weight:800; }
.brand-copy h1 span { color:var(--green); }
.tagline { margin:16px 0 0; font-size:16px; color:#a9b3b7; text-transform:uppercase; font-weight:700; letter-spacing:.075em; }
.brand-description,.brand-pill-row { display:none; }
.login-form-panel { width:100%; min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px; background:transparent; }
.login-card { width:min(455px,100%); background:linear-gradient(180deg,rgba(20,31,37,.97),rgba(13,22,26,.98)); border:1px solid #27363d; border-top:3px solid var(--green); border-radius:16px; box-shadow:var(--shadow); padding:40px; }
.login-card h2 { margin:0 0 8px; font-size:31px; letter-spacing:-.025em; }
.muted { color:var(--muted); line-height:1.5; margin:0 0 30px; }
.field { display:block; margin:0 0 20px; }
.field>span { display:block; color:#c6cdd0; font-size:12px; font-weight:700; margin-bottom:8px; }
.input-wrap { display:flex; align-items:center; min-height:50px; border:1px solid #324047; border-radius:8px; background:#091216; transition:.2s; }
.input-wrap:focus-within { border-color:var(--green); box-shadow:0 0 0 3px rgba(148,193,31,.11); }
.input-wrap>svg { width:19px; margin:0 12px; color:#728087; }
.input-wrap input { flex:1; min-width:0; height:48px; padding:0 6px 0 0; color:var(--text); border:0; outline:0; background:transparent; }
.input-wrap input::placeholder { color:#59666c; }
.icon-button { width:46px;height:46px;border:0;background:transparent;color:#718087;cursor:pointer;display:grid;place-items:center; }
.icon-button svg { width:20px; }
.login-options { display:flex; align-items:center; justify-content:space-between; margin:-2px 0 25px; gap:18px; }
.checkbox { display:flex; align-items:center; gap:8px; color:#aeb8bc; font-size:12px; cursor:pointer; }
.checkbox input { position:absolute; opacity:0; }
.checkbox span { width:16px;height:16px;border:1px solid #405058;border-radius:3px;display:inline-grid;place-items:center;background:#0a1317; }
.checkbox input:checked+span { background:var(--green); border-color:var(--green); box-shadow:inset 0 0 0 3px #0f171b; }
.text-button { border:0;background:transparent;color:var(--green-2);font-size:12px;font-weight:800;cursor:pointer;padding:0; }
.primary-button { width:100%; height:52px; border:0; border-radius:7px; cursor:pointer; background:linear-gradient(180deg,var(--green-2),var(--green)); color:#111907; font-weight:900; letter-spacing:.06em; display:flex;align-items:center;justify-content:center;gap:8px; box-shadow:0 8px 20px rgba(148,193,31,.18); }
.primary-button:hover { filter:brightness(1.05); }
.primary-button svg { width:19px;stroke-width:2.4; }
.login-error { height:16px; margin:8px 0 0; color:#f58575;font-size:12px; }
.login-foot { margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:#6f7d83;font-size:11px; }
.status-dot { width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green); }
.login-foot .version { margin-left:auto; }
.mobile-logo-wrap { display:none; }

/* APP */
.app-shell { min-height:100vh; display:flex; background:#081014; }
.sidebar { width:260px; flex:0 0 260px; min-height:100vh; position:fixed; inset:0 auto 0 0; z-index:30; background:linear-gradient(180deg,#10191e,#0a1115 72%); border-right:1px solid #253139; transition:.22s; display:flex;flex-direction:column; }
.sidebar-brand { height:76px; display:flex; align-items:center; gap:10px; padding:0 15px; border-bottom:1px solid var(--line); }
.sidebar-brand img { width:49px;height:49px;border-radius:11px; }
.sidebar-brand div { display:flex;flex-direction:column;line-height:.95; }
.sidebar-brand strong { font-size:25px;color:var(--green);font-style:italic;letter-spacing:-.05em; }
.sidebar-brand span { font-size:12px;font-weight:900;letter-spacing:.1em; }
.sidebar-toggle { margin-left:auto;border:0;background:#18242a;color:#7e8c92;width:31px;height:31px;border-radius:6px;display:grid;place-items:center;cursor:pointer; }
.sidebar-toggle svg { width:17px; }
.nav-groups { padding:15px 10px 12px;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 76px);overflow:auto; }
.nav-group>p { margin:0 10px 6px;color:#526168;font-size:9px;letter-spacing:.18em;font-weight:900; }
.nav-item { width:100%;height:42px;border:1px solid transparent;background:transparent;border-radius:7px;color:#93a0a5;display:flex;align-items:center;gap:12px;padding:0 10px;cursor:pointer;text-align:left;font-size:13px;font-weight:650; }
.nav-item svg { width:19px;height:19px;color:#68777e; }
.nav-item:hover { background:#121e23;color:#dce2e4; }
.nav-item.active { background:linear-gradient(90deg,rgba(148,193,31,.16),rgba(148,193,31,.045));border-color:rgba(148,193,31,.18);color:#f0f3f4;box-shadow:inset 3px 0 var(--green); }
.nav-item.active svg { color:var(--green); }
.nav-item b { margin-left:auto;font-size:9px;min-width:23px;text-align:center;padding:3px 5px;border-radius:8px;background:#27343a;color:#93a0a5; }
.nav-item em { margin-left:auto;font-size:8px;font-style:normal;font-weight:900;color:#111;background:var(--green);padding:3px 5px;border-radius:3px; }
.bottom-nav { margin-top:auto; }
.nav-item.logout { color:#718087; }
.app-main { margin-left:260px; width:calc(100% - 260px); min-height:100vh; transition:.22s; }
.topbar { height:76px; position:sticky;top:0;z-index:20;background:rgba(8,16,20,.92);backdrop-filter:blur(12px);border-bottom:1px solid #233038;display:flex;align-items:center;gap:20px;padding:0 28px; }
.global-search { width:min(630px,47vw);height:42px;display:flex;align-items:center;background:#111b20;border:1px solid #2a383e;border-radius:8px; }
.global-search svg { width:18px;margin:0 11px;color:#718087; }
.global-search input { flex:1;min-width:0;border:0;outline:0;background:transparent;color:#dfe4e6;font-size:12px; }
kbd { margin-right:8px;border:1px solid #36444a;border-bottom-width:2px;border-radius:4px;padding:4px 6px;color:#718087;background:#0c1418;font-size:9px; }
.topbar-actions { margin-left:auto;display:flex;align-items:center;gap:9px; }
.quick-add { height:38px;border:1px solid rgba(148,193,31,.45);background:rgba(148,193,31,.09);color:var(--green-2);border-radius:6px;font-size:10px;font-weight:900;letter-spacing:.04em;padding:0 13px;cursor:pointer; }
.quick-add span { font-size:16px;margin-right:4px; }
.bell { width:39px;height:39px;border:1px solid #2b383e;background:#111b20;border-radius:7px;color:#79878d;display:grid;place-items:center;cursor:pointer; }
.bell svg { width:18px; }
.profile-chip { display:flex;align-items:center;gap:9px;margin-left:2px;padding-left:9px;border-left:1px solid #27343a; }
.avatar { width:36px;height:36px;border-radius:7px;background:linear-gradient(145deg,#2f413d,#182722);border:1px solid #455952;display:grid;place-items:center;color:var(--green-2);font-weight:900;font-size:11px; }
.profile-chip>div:last-child { display:flex;flex-direction:column; }
.profile-chip strong { font-size:11px; }
.profile-chip span { color:#718087;font-size:9px;margin-top:2px; }
.mobile-menu { display:none; }
.content { padding:32px 34px 50px; max-width:1800px; margin:0 auto; }
.page-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:27px; }
.page-heading h1 { margin:0 0 7px;font-size:31px;letter-spacing:-.035em; }
.page-heading>div>p:last-child { margin:0;color:#819097;font-size:13px; }
.heading-actions { display:flex;gap:8px; }
.secondary-button,.primary-small { height:38px;border-radius:6px;padding:0 13px;font-size:10px;font-weight:900;letter-spacing:.04em;cursor:pointer; }
.secondary-button { background:#111b20;border:1px solid #303e44;color:#9ca8ad; }
.primary-small { background:var(--green);border:1px solid var(--green);color:#101706; }
.stat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:14px; }
.stat-card { min-height:110px;background:linear-gradient(160deg,#121e23,#0f181d);border:1px solid #26343a;border-radius:11px;padding:18px;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden; }
.stat-card.accent:before { content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green); }
.stat-icon { width:42px;height:42px;border:1px solid #34434a;background:#0c1519;border-radius:8px;display:grid;place-items:center;color:var(--green); }
.stat-icon svg { width:21px; }
.stat-card>div:last-child { display:flex;flex-direction:column;min-width:0; }
.stat-card span { color:#718087;font-size:9px;font-weight:900;letter-spacing:.1em; }
.stat-card strong { font-size:27px;line-height:1.1;margin:4px 0 2px;letter-spacing:-.04em; }
.stat-card small { color:#66757b;font-size:10px; }
.stat-card strong.online { font-size:18px;color:var(--green-2);letter-spacing:.04em; }
.dashboard-grid { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:14px; }
.panel { background:linear-gradient(160deg,#111b20,#0d161a);border:1px solid #26343a;border-radius:11px;overflow:hidden; }
.panel-header { min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid #223037; }
.panel-header h2 { margin:3px 0 0;font-size:15px;letter-spacing:-.01em; }
.panel-label { font-size:8px;margin:0; }
.knowledge-list { display:flex;flex-direction:column; }
.knowledge-row { min-height:72px;border:0;border-bottom:1px solid #202d33;background:transparent;display:grid;grid-template-columns:42px minmax(0,1fr) 86px 54px;align-items:center;gap:12px;padding:11px 18px;text-align:left;cursor:pointer; }
.knowledge-row:last-child { border-bottom:0; }
.knowledge-row:hover { background:#121f24; }
.type-icon { width:37px;height:37px;border-radius:7px;border:1px solid #405047;background:#101b17;color:var(--green-2);display:grid;place-items:center;font-size:9px;font-weight:900; }
.type-icon.can-icon { color:#82bcd1;border-color:#36515c;background:#0f1b20; }
.knowledge-main { min-width:0;display:flex;flex-direction:column;gap:4px; }
.knowledge-main strong { font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.knowledge-main small { color:#6f7e84;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.source-badge { justify-self:start;font-size:7px;font-weight:900;letter-spacing:.05em;padding:4px 6px;border-radius:3px;border:1px solid #39464c;color:#8c999e;background:#151f23; }
.source-badge.manual { color:#b4d661;border-color:#4d622a;background:#19200f; }
.source-badge.measured { color:#80b8c8;border-color:#365663;background:#0f1e23; }
.source-badge.verified { color:#98c991;border-color:#3d5a3a;background:#112017; }
.knowledge-row time { color:#59686e;font-size:9px;text-align:right; }
.quick-grid { display:grid;grid-template-columns:repeat(2,1fr);padding:13px;gap:8px; }
.quick-grid button { min-height:84px;border:1px solid #27363c;background:#0e181c;border-radius:8px;text-align:left;padding:12px;cursor:pointer;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center; }
.quick-grid button:hover { border-color:#4a5c42;background:#121f1e; }
.quick-grid button>span { grid-row:1/3;width:32px;height:32px;border-radius:6px;background:#17251a;border:1px solid #334a32;display:grid;place-items:center;color:var(--green);font-size:10px;font-weight:900; }
.quick-grid strong { font-size:10px; }
.quick-grid small { font-size:8px;color:#627076; }
.confidence-list { padding:18px 20px 20px; }
.confidence-list div { display:grid;grid-template-columns:1fr 30px;position:relative;padding:0 0 19px;margin-bottom:12px; }
.confidence-list div:last-child { margin-bottom:0; }
.confidence-list span { font-size:10px;color:#9ba6aa; }
.confidence-list b { font-size:10px;text-align:right;color:#d1d7d9; }
.confidence-list i { position:absolute;left:0;right:0;bottom:5px;height:5px;border-radius:5px;background:#1e2b30;overflow:hidden; }
.confidence-list i:after { content:"";display:block;width:var(--w);height:100%;background:linear-gradient(90deg,var(--green-dark),var(--green));border-radius:5px; }
.system-info { padding:7px 18px 12px; }
.system-info>div { display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:45px;border-bottom:1px solid #202d33; }
.system-info>div:last-child { border:0; }
.system-info span { font-size:9px;color:#617077; }
.system-info strong { font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.system-info em { font-style:normal;font-size:7px;color:var(--green-2);border:1px solid #46592a;background:#17200e;padding:3px 5px;border-radius:3px; }
.system-info em.planned { color:#c1ad70;border-color:#594f34;background:#211d10; }
.placeholder-page { min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;max-width:620px;margin:auto; }
.placeholder-page .placeholder-icon { width:82px;height:82px;border-radius:18px;background:linear-gradient(145deg,#1b2a21,#0e171b);border:1px solid #34473b;box-shadow:inset 0 0 0 8px rgba(148,193,31,.025);position:relative;margin-bottom:24px; }
.placeholder-page .placeholder-icon:before,.placeholder-page .placeholder-icon:after { content:"";position:absolute;background:var(--green);left:25%;right:25%;height:3px;top:50%;border-radius:3px; }
.placeholder-page .placeholder-icon:after { transform:rotate(90deg); }
.placeholder-page h1 { font-size:38px;margin:0 0 12px; }
.placeholder-page>p:not(.section-kicker) { color:#7f8d92;line-height:1.7;margin:0 0 25px; }
.mobile-overlay { display:none; }

.sidebar.collapsed { width:78px;flex-basis:78px; }
.sidebar.collapsed .sidebar-brand div,.sidebar.collapsed .nav-group>p,.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-item b,.sidebar.collapsed .nav-item em { display:none; }
.sidebar.collapsed .sidebar-brand { padding:0 13px; }
.sidebar.collapsed .sidebar-brand img { width:50px;height:50px; }
.sidebar.collapsed .sidebar-toggle { position:absolute;left:64px;top:22px;width:25px;height:31px; }
.sidebar.collapsed .sidebar-toggle svg { transform:rotate(180deg); }
.sidebar.collapsed .nav-item { justify-content:center;padding:0; }
.sidebar.collapsed .nav-item svg { width:20px; }
.sidebar.collapsed + .app-main { margin-left:78px;width:calc(100% - 78px); }

@media (max-width: 1180px) {
  .stat-grid { grid-template-columns:repeat(2,1fr); }
  .dashboard-grid { grid-template-columns:1fr; }
  .topbar-actions .quick-add,.profile-chip>div:last-child { display:none; }
}
@media (max-width: 920px) {
  .login-form-panel { min-height:100vh;padding:22px; }
  .login-card { padding:30px; }
  .sidebar { transform:translateX(-102%);box-shadow:20px 0 50px rgba(0,0,0,.4); }
  .sidebar.open { transform:translateX(0); }
  .app-main,.sidebar.collapsed + .app-main { margin-left:0;width:100%; }
  .mobile-menu { display:grid;place-items:center;width:38px;height:38px;background:#111b20;border:1px solid #2a383e;border-radius:7px;color:#829198; }
  .mobile-menu svg { width:20px; }
  .global-search { width:100%; }
  .topbar { padding:0 16px; }
  .mobile-overlay.show { display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:25; }
  .sidebar-toggle { display:none; }
}
@media (max-width: 650px) {
  .content { padding:24px 16px 40px; }
  .page-heading { align-items:flex-start;flex-direction:column; }
  .heading-actions { width:100%; }
  .heading-actions button { flex:1; }
  .stat-grid { grid-template-columns:1fr; }
  .knowledge-row { grid-template-columns:40px minmax(0,1fr); }
  .source-badge,.knowledge-row time { display:none; }
  .quick-grid { grid-template-columns:1fr; }
  .topbar-actions .bell { display:none; }
  .profile-chip { border-left:0;padding-left:0; }
  .global-search kbd { display:none; }
}


/* KNOWLEDGE BASE v0.4 */
.kb-page-heading{margin-bottom:18px}.kb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.kb-stats>div{background:#0e181d;border:1px solid #25343a;border-radius:8px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px}.kb-stats span{font-size:8px;letter-spacing:.11em;font-weight:900;color:#75848a}.kb-stats strong{font-size:20px;color:#e8edef}.kb-workspace{display:grid;grid-template-columns:minmax(520px,1.1fr) minmax(410px,.9fr);height:calc(100vh - 248px);min-height:560px;border:1px solid #26343a;border-radius:11px;overflow:hidden;background:#0b1418}.kb-browser{min-width:0;display:flex;flex-direction:column;border-right:1px solid #26343a}.kb-toolbar{padding:12px;background:#101a1f;border-bottom:1px solid #26343a;display:grid;grid-template-columns:minmax(230px,1fr) 175px 190px auto;gap:8px;align-items:center}.kb-search{height:39px;display:flex;align-items:center;border:1px solid #314149;border-radius:6px;background:#091216}.kb-search:focus-within{border-color:var(--green);box-shadow:0 0 0 2px rgba(148,193,31,.08)}.kb-search svg{width:17px;margin:0 10px;color:#68777d}.kb-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#e3e8ea;font-size:11px}.kb-toolbar select{height:39px;border:1px solid #314149;border-radius:6px;background:#0b1519;color:#aeb9bd;padding:0 9px;outline:0;font-size:10px}.kb-toolbar select:focus{border-color:var(--green)}.kb-count{font-size:9px;color:#6e7d83;white-space:nowrap;text-align:right;padding:0 4px}.kb-list{overflow:auto;padding:8px;scrollbar-color:#34444b #0b1418}.kb-row{width:100%;display:block;text-align:left;border:1px solid transparent;border-bottom-color:#1f2c32;background:transparent;padding:14px 13px;cursor:pointer;border-radius:7px;transition:.12s}.kb-row:hover{background:#101d22;border-color:#2b3b42}.kb-row.selected{background:#132019;border-color:#4c612c;box-shadow:inset 3px 0 var(--green)}.kb-row-top{display:flex;align-items:center;gap:6px;margin-bottom:8px}.type-badge{font-size:7px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#b4c0c4;background:#182329;border:1px solid #34444b;border-radius:3px;padding:4px 6px}.source-badge.decoded{color:#c4a8df;border-color:#514166;background:#1b1323}.source-badge.observed{color:#d5bd7b;border-color:#594e31;background:#211c0e}.kb-row>strong{display:block;font-size:12px;margin-bottom:5px;color:#e7ebed}.kb-row>p{margin:0;color:#7d8c92;font-size:10px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-row-bottom{margin-top:9px;display:flex;justify-content:space-between;gap:14px;color:#56666c;font-size:8px}.kb-row-bottom span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-detail{min-width:0;background:linear-gradient(160deg,#101a1f,#0b1418);display:flex;flex-direction:column;position:relative}.kb-detail-empty{margin:auto;padding:40px;text-align:center;max-width:360px}.detail-glyph{margin:0 auto 18px;width:62px;height:62px;border-radius:14px;display:grid;place-items:center;color:var(--green);font-weight:900;font-size:18px;background:#142018;border:1px solid #405136}.kb-detail-empty strong{font-size:15px}.kb-detail-empty p{color:#6f7e84;font-size:11px;line-height:1.6}.kb-detail-head{padding:20px 22px 16px;border-bottom:1px solid #26343a;display:flex;gap:16px;align-items:flex-start}.kb-detail-title{min-width:0;flex:1}.badge-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}.verified-mark{font-size:7px;font-weight:900;letter-spacing:.08em;color:var(--green)}.kb-detail-head h2{font-size:21px;line-height:1.18;margin:0 0 9px;letter-spacing:-.025em}.kb-detail-head code{display:block;color:#68777d;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-close{border:1px solid #314149;background:#111c21;color:#7b898f;border-radius:6px;width:31px;height:31px;cursor:pointer;font-size:19px;line-height:1}.kb-detail-scroll{overflow:auto;padding:0 22px 24px}.detail-section{padding:18px 0;border-bottom:1px solid #223037}.detail-section:last-child{border-bottom:0}.detail-section h3{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#839197;margin:0 0 10px}.detail-copy{font-size:12px;line-height:1.7;color:#c2cbd0;margin:0}.app-chips{display:flex;flex-wrap:wrap;gap:6px}.app-chips span{font-size:9px;color:#afc386;border:1px solid #3e4e2d;background:#151d10;padding:5px 7px;border-radius:4px}.structured-grid{display:flex;flex-direction:column;gap:7px}.structured-row{border:1px solid #27353b;border-radius:6px;overflow:hidden;background:#0a1317}.structured-row>span{display:block;padding:6px 9px;background:#121d22;color:#829097;font-size:8px;font-weight:800;text-transform:uppercase}.structured-row pre{white-space:pre-wrap;word-break:break-word;margin:0;padding:8px 9px;color:#cbd4d7;font:9px/1.45 Consolas,monospace}.evidence-card{border:1px solid #29383e;background:#0b1519;border-radius:7px;padding:11px;margin-bottom:8px}.evidence-card:last-child{margin-bottom:0}.evidence-card .evidence-type{text-transform:uppercase;color:var(--green);font-size:7px;font-weight:900;letter-spacing:.08em;margin-bottom:6px}.evidence-card strong{font-size:10px;line-height:1.4;display:block}.evidence-meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:#6c7b81;font-size:8px;margin-top:7px}.evidence-card p{font-size:9px;color:#78878d;line-height:1.45;margin:8px 0 0}.empty-detail{color:#65747a;font-size:10px;margin:0}.detail-footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.detail-footer-grid>div{background:#0b1519;border:1px solid #27353b;border-radius:6px;padding:9px}.detail-footer-grid span{display:block;color:#64747a;font-size:7px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.detail-footer-grid strong{font-size:9px}.kb-empty{padding:50px 30px;text-align:center;color:#8d9a9f}.kb-empty strong{display:block;font-size:13px;margin-bottom:7px}.kb-empty span{font-size:10px;color:#64747a;line-height:1.5}
@media(max-width:1200px){.kb-workspace{grid-template-columns:minmax(460px,1fr) minmax(370px,.8fr)}.kb-toolbar{grid-template-columns:1fr 150px 165px}.kb-count{display:none}}
@media(max-width:920px){.kb-stats{grid-template-columns:repeat(2,1fr)}.kb-workspace{display:block;height:auto;min-height:0}.kb-browser{border-right:0}.kb-toolbar{grid-template-columns:1fr 1fr}.kb-search{grid-column:1/-1}.kb-list{max-height:55vh}.kb-detail{position:fixed;z-index:50;inset:62px 10px 10px;transform:translateY(110%);transition:.2s;border:1px solid #34444b;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.kb-detail.open{transform:translateY(0)}}
@media(max-width:650px){.kb-stats{grid-template-columns:1fr 1fr}.kb-toolbar{grid-template-columns:1fr}.kb-search{grid-column:auto}.kb-row-bottom{display:none}.kb-detail{inset:58px 6px 6px}.detail-footer-grid{grid-template-columns:1fr}}

/* READABILITY PASS v0.5 ---------------------------------------------------
   Workshop-first sizing: keep the dense layout, remove the microscope. */
@media (min-width: 651px) {
  .app-shell { font-size: 16px; }

  /* Sidebar / top bar */
  .nav-group>p { font-size: 11px; }
  .nav-item { height: 46px; font-size: 15px; }
  .nav-item b { font-size: 11px; }
  .nav-item em { font-size: 10px; }
  .global-search input { font-size: 14px; }
  kbd { font-size: 11px; }
  .quick-add { font-size: 12px; }
  .profile-chip strong { font-size: 13px; }
  .profile-chip span { font-size: 11px; }

  /* General app */
  .eyebrow,.section-kicker,.panel-label { font-size: 12px; }
  .page-heading h1 { font-size: 34px; }
  .page-heading>div>p:last-child { font-size: 15px; }
  .secondary-button,.primary-small { font-size: 12px; }
  .stat-card span { font-size: 11px; }
  .stat-card small { font-size: 12px; }
  .panel-header h2 { font-size: 18px; }
  .panel-label { font-size: 10px; }
  .knowledge-main strong { font-size: 14px; }
  .knowledge-main small { font-size: 12px; }
  .source-badge { font-size: 9px; }
  .knowledge-row time { font-size: 11px; }
  .quick-grid strong { font-size: 13px; }
  .quick-grid small { font-size: 11px; }
  .confidence-list span,.confidence-list b { font-size: 13px; }
  .system-info span { font-size: 12px; }
  .system-info strong { font-size: 13px; }
  .system-info em { font-size: 9px; }

  /* Knowledge Base */
  .kb-stats span { font-size: 10px; }
  .kb-stats strong { font-size: 23px; }
  .kb-search input { font-size: 14px; }
  .kb-toolbar select { font-size: 13px; }
  .kb-count { font-size: 11px; }
  .type-badge { font-size: 9px; padding: 5px 7px; }
  .verified-mark { font-size: 9px; }
  .kb-row>strong { font-size: 15px; line-height: 1.35; }
  .kb-row>p { font-size: 13px; line-height: 1.55; }
  .kb-row-bottom { font-size: 11px; }
  .kb-detail-empty strong { font-size: 18px; }
  .kb-detail-empty p { font-size: 14px; }
  .kb-detail-head h2 { font-size: 25px; line-height: 1.24; }
  .kb-detail-head code { font-size: 11px; }
  .detail-section h3 { font-size: 11px; }
  .detail-copy { font-size: 15px; line-height: 1.75; }
  .app-chips span { font-size: 12px; padding: 6px 8px; }
  .structured-row>span { font-size: 10px; padding: 7px 10px; }
  .structured-row pre { font-size: 12px; line-height: 1.55; padding: 10px; }
  .evidence-card .evidence-type { font-size: 9px; }
  .evidence-card strong { font-size: 13px; line-height: 1.5; }
  .evidence-meta { font-size: 11px; }
  .evidence-card p { font-size: 12px; line-height: 1.55; }
  .empty-detail { font-size: 12px; }
  .detail-footer-grid span { font-size: 9px; }
  .detail-footer-grid strong { font-size: 12px; }
  .kb-empty strong { font-size: 16px; }
  .kb-empty span { font-size: 13px; }
}

/* Mobile/tablet still needs to be readable without sacrificing width. */
@media (max-width: 650px) {
  .nav-item { font-size: 15px; }
  .global-search input { font-size: 14px; }
  .page-heading>div>p:last-child { font-size: 14px; }
  .kb-search input { font-size: 14px; }
  .kb-toolbar select { font-size: 13px; }
  .kb-row>strong { font-size: 15px; }
  .kb-row>p { font-size: 13px; }
  .kb-detail-head h2 { font-size: 22px; }
  .detail-copy { font-size: 15px; }
  .detail-section h3 { font-size: 11px; }
  .app-chips span { font-size: 12px; }
  .structured-row pre { font-size: 12px; }
  .evidence-card strong { font-size: 13px; }
  .evidence-card p { font-size: 12px; }
}


/* SEARCH SECTIONS v0.6 --------------------------------------------------- */
.search-sections{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:-2px 0 12px}.search-section{position:relative;min-height:68px;border:1px solid #2a3a41;border-radius:8px;background:#0e181d;color:#89979c;text-align:left;padding:10px 12px;cursor:pointer;transition:.14s}.search-section:hover{border-color:#45565d;background:#111e23}.search-section.active{border-color:#66802f;background:#142018;box-shadow:inset 3px 0 var(--green)}.search-section span{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;color:#64747a;margin-bottom:5px}.search-section strong{display:block;font-size:14px;color:#d8dfe2}.search-section b{position:absolute;right:10px;top:10px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:grid;place-items:center;background:#263014;color:var(--green);font-size:10px}.search-section.error-section:not(.active){border-color:#4b4329;background:#18170f}.search-section.error-section span{color:#b2a56d}.fault-code-badge{font-size:9px;font-weight:900;letter-spacing:.05em;color:#e1cc78;border:1px solid #66582c;background:#241f0e;border-radius:3px;padding:5px 7px}.kb-stats .error-stat{border-color:#443d28}.kb-stats .error-stat strong{color:#e1cc78}
@media(max-width:1050px){.search-sections{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.search-sections{grid-template-columns:1fr 1fr}.search-section{min-height:64px}.search-section strong{font-size:13px}.fault-code-badge{font-size:9px}}

/* v0.7 live database/auth state */
.primary-button:disabled{opacity:.55;cursor:wait;filter:saturate(.55)}
#loginSystemStatus{transition:color .2s ease}
.system-info em#systemDataBadge{color:#91d34d;border-color:rgba(145,211,77,.35);background:rgba(145,211,77,.07)}

/* v0.8 — workshop search + fault-code workspace */
.nav-item[data-view="faults"] svg{color:#a99659}.nav-item[data-view="faults"].active svg{color:#e1cc78}
.fault-stat-card{cursor:pointer}.fault-stat-card:hover{border-color:#554b2e;background:linear-gradient(160deg,#171b17,#111817)}.fault-stat-card .stat-icon{color:#e1cc78;border-color:#4a432c;background:#17160f}.fault-stat-card strong{color:#ead88c}
.workshop-lookup{display:grid;grid-template-columns:220px minmax(320px,1fr) auto auto auto;align-items:center;gap:9px;margin:0 0 14px;padding:12px 13px;background:linear-gradient(100deg,#101a1f,#0d171b);border:1px solid #2b3a40;border-radius:10px}.lookup-label{display:flex;flex-direction:column;gap:3px;padding:0 7px}.lookup-label span{font-size:10px;font-weight:900;letter-spacing:.11em;color:var(--green)}.lookup-label strong{font-size:15px}.lookup-input-wrap{height:44px;display:flex;align-items:center;border:1px solid #35464d;border-radius:7px;background:#091216}.lookup-input-wrap:focus-within{border-color:var(--green);box-shadow:0 0 0 2px rgba(148,193,31,.08)}.lookup-input-wrap svg{width:19px;margin:0 11px;color:#718087}.lookup-input-wrap input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#e4eaec;font-size:14px;padding-right:10px}.lookup-shortcut,.lookup-go{height:44px;border-radius:6px;padding:0 13px;white-space:nowrap;font-size:11px;font-weight:900;letter-spacing:.035em;cursor:pointer}.lookup-shortcut{border:1px solid #34444b;background:#111b20;color:#9ba8ad}.lookup-shortcut:hover{border-color:#596970;color:#d4dbde}.lookup-shortcut.fault{border-color:#5a4f2e;color:#e1cc78;background:#1b190f}.lookup-go{border:1px solid var(--green);background:var(--green);color:#101706}.dashboard-loading{padding:28px 20px;color:#728188;font-size:13px;text-align:center}.recent-panel .knowledge-row{grid-template-columns:42px minmax(0,1fr) 110px 48px}.recent-panel .source-badge{font-size:9px}.recent-panel .knowledge-main strong{font-size:14px}.recent-panel .knowledge-main small{font-size:12px}.recent-panel .knowledge-row time{font-size:11px}

.fault-page-heading{margin-bottom:18px}.fault-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.fault-summary-strip>div{min-height:62px;border:1px solid #2c3b42;border-radius:8px;background:#0e181d;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.fault-summary-strip span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#76858b}.fault-summary-strip strong{font-size:20px;color:#e9edef}.fault-summary-strip>div:first-child{border-color:#4b422a}.fault-summary-strip>div:first-child strong{color:#e1cc78}
.fault-workspace{display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(430px,.95fr);height:calc(100vh - 238px);min-height:570px;border:1px solid #29383e;border-radius:11px;overflow:hidden;background:#0b1418}.fault-browser{min-width:0;display:flex;flex-direction:column;border-right:1px solid #29383e}.fault-toolbar{padding:12px;background:#101a1f;border-bottom:1px solid #29383e;display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:10px;align-items:center}.fault-list{overflow:auto;padding:8px}.fault-row{width:100%;min-height:90px;border:1px solid transparent;border-bottom-color:#202d33;background:transparent;border-radius:7px;padding:12px 13px;display:grid;grid-template-columns:105px minmax(0,1fr) 46px;gap:14px;align-items:center;text-align:left;cursor:pointer}.fault-row:hover{background:#111d21;border-color:#33434a}.fault-row.selected{background:#1a1a11;border-color:#5e5331;box-shadow:inset 3px 0 #d1b85e}.fault-number{font:900 25px/1 Consolas,"Segoe UI",sans-serif;color:#e3cb77;letter-spacing:-.035em}.fault-number small{display:block;font:700 10px/1.2 "Segoe UI",sans-serif;margin-top:7px;color:#95895d}.fault-main{min-width:0;display:flex;flex-direction:column;gap:4px}.fault-main>span{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#8c8059;font-weight:900}.fault-main strong{font-size:15px;line-height:1.3;color:#e3e8ea}.fault-main small{font-size:12px;color:#708087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fault-related{width:42px;height:42px;border:1px solid #34434a;border-radius:7px;background:#10191d;display:flex;flex-direction:column;align-items:center;justify-content:center}.fault-related b{font-size:14px}.fault-related span{font-size:8px;color:#77868c;font-weight:900;letter-spacing:.08em}.fault-detail{background:linear-gradient(160deg,#121a1c,#0b1418)}.fault-detail-head{padding:18px 22px;border-bottom:1px solid #29383e;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;background:linear-gradient(100deg,#1b1a10,#10191d 52%)}.fault-detail-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.fault-detail-label{width:100%;font-size:9px;color:#a69865;font-weight:900;letter-spacing:.13em}.fault-detail-code{font:900 38px/1 Consolas,"Segoe UI",sans-serif;color:#ead47d;letter-spacing:-.04em}.fault-subcode{font-size:13px;color:#a89a69;border:1px solid #51492e;border-radius:4px;padding:4px 7px}.fault-detail-title{font-size:22px;line-height:1.3;margin:0 0 12px}.fault-facts{padding:15px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-bottom:1px solid #223037}.fault-facts>div{border:1px solid #29383e;background:#0b1519;border-radius:6px;padding:10px}.fault-facts span{display:block;font-size:9px;color:#697980;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.fault-facts strong{font-size:13px;color:#d4dcdf}.related-knowledge{display:flex;flex-direction:column;gap:8px}.related-knowledge button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 9px;text-align:left;border:1px solid #2b3a40;border-radius:7px;background:#0b1519;padding:11px;cursor:pointer}.related-knowledge button:hover{border-color:#53652e;background:#111b17}.related-knowledge .type-badge{grid-row:1/3;align-self:start}.related-knowledge strong{font-size:13px;line-height:1.35}.related-knowledge small{font-size:11px;line-height:1.45;color:#75858b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fault-key{display:block;font-size:11px;color:#7b898f;white-space:normal;word-break:break-all}.fault-link{cursor:pointer;font-family:inherit}.fault-link:hover{filter:brightness(1.15)}

@media(max-width:1250px){.workshop-lookup{grid-template-columns:170px minmax(280px,1fr) auto auto}.lookup-shortcut[data-lookup="can"]{display:none}.fault-workspace{grid-template-columns:minmax(470px,1fr) minmax(380px,.85fr)}}
@media(max-width:920px){.workshop-lookup{grid-template-columns:1fr auto auto}.lookup-label{display:none}.fault-summary-strip{grid-template-columns:repeat(3,1fr)}.fault-workspace{display:block;height:auto;min-height:0}.fault-browser{border-right:0}.fault-list{max-height:58vh}.fault-detail{position:fixed;z-index:50;inset:62px 10px 10px;transform:translateY(110%);transition:.2s;border:1px solid #34444b;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.fault-detail.open{transform:translateY(0)}}
@media(max-width:650px){.workshop-lookup{grid-template-columns:1fr auto}.lookup-shortcut{display:none}.fault-summary-strip{grid-template-columns:1fr}.fault-row{grid-template-columns:82px minmax(0,1fr)}.fault-number{font-size:21px}.fault-related{display:none}.fault-main strong{font-size:14px}.fault-facts{grid-template-columns:1fr}.fault-detail{inset:58px 6px 6px}.fault-detail-code{font-size:32px}}

/* v0.9 — live CAN / J1939 workspace */
.nav-item[data-view="can"] svg{color:#87a8b7}.nav-item[data-view="can"].active svg{color:#b9dcea}
#dashboardCanCard{cursor:pointer}#dashboardCanCard:hover{border-color:#3a5864;background:linear-gradient(160deg,#111c20,#0f181c)}
.can-page-heading{margin-bottom:18px}.can-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.can-summary-strip>div{min-height:64px;border:1px solid #2c3d44;border-radius:8px;background:#0d181d;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.can-summary-strip span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#73868e}.can-summary-strip strong{font-size:21px;color:#e7edef}.can-summary-strip>div:first-child{border-color:#34515d}.can-summary-strip>div:first-child strong{color:#bfe1ed}
.can-network-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:12px}.can-network-card,.can-network-empty{border:1px solid #26383f;border-radius:7px;background:#0c151a;padding:10px 12px;min-height:65px}.can-network-card span{display:block;color:#92b7c6;font-size:9px;font-weight:900;letter-spacing:.1em;margin-bottom:4px}.can-network-card strong{display:block;font-size:13px;color:#d6e0e4;line-height:1.3}.can-network-card small{display:block;font-size:11px;color:#718189;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.can-network-empty{display:grid;place-items:center;color:#6f7f86;font-size:12px}
.can-workspace{display:grid;grid-template-columns:minmax(590px,1.08fr) minmax(500px,.92fr);height:calc(100vh - 305px);min-height:610px;border:1px solid #293a41;border-radius:11px;overflow:hidden;background:#0a1418}.can-browser{display:flex;min-width:0;flex-direction:column;border-right:1px solid #293a41}.can-toolbar{padding:12px;background:#101a1f;border-bottom:1px solid #293a41;display:grid;grid-template-columns:minmax(290px,1fr) 155px 180px auto;gap:9px;align-items:center}.can-toolbar select{height:42px;border:1px solid #34454c;border-radius:6px;background:#0b1519;color:#b6c1c5;padding:0 10px;font-size:12px;outline:0}.can-toolbar select:focus{border-color:#6d94a4}.can-list{overflow:auto;padding:8px}.can-row{width:100%;min-height:92px;border:1px solid transparent;border-bottom-color:#202f35;border-radius:7px;background:transparent;padding:11px 12px;display:grid;grid-template-columns:145px minmax(0,1fr) 100px;gap:14px;align-items:center;text-align:left;cursor:pointer}.can-row:hover{background:#111d22;border-color:#32464e}.can-row.selected{background:#112027;border-color:#466c7a;box-shadow:inset 3px 0 #8dbbca}.can-id-block{align-self:stretch;border-right:1px solid #26373e;display:flex;flex-direction:column;justify-content:center}.can-id-block strong{font:900 23px/1 Consolas,"Segoe UI",sans-serif;letter-spacing:-.035em;color:#c8e5ee}.can-id-block span{margin-top:7px;font:800 10px/1.2 "Segoe UI",sans-serif;color:#71919d;letter-spacing:.06em}.can-main{min-width:0;display:flex;flex-direction:column;gap:5px}.can-main>strong{font-size:15px;line-height:1.3;color:#e1e7e9}.can-main>small{font-size:12px;color:#718289;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.can-row-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.can-protocol,.can-proprietary{font-size:9px;font-weight:900;letter-spacing:.055em;border:1px solid #38525d;border-radius:3px;padding:4px 6px;color:#9fc2cf;background:#101c21}.can-proprietary{border-color:#5a4e2e;color:#d7c37b;background:#1b180e}.can-row-counts{display:grid;grid-template-columns:1fr 1fr;gap:5px}.can-row-counts span{height:47px;border:1px solid #2d3f46;border-radius:6px;background:#0b1519;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:#687d85;letter-spacing:.08em}.can-row-counts b{font-size:14px;color:#c7d6db;margin-bottom:2px}
.can-detail{background:linear-gradient(160deg,#101a1e,#0a1418)}.can-detail-head{padding:16px 20px;border-bottom:1px solid #2a3c43;background:linear-gradient(100deg,#14242a,#10191d 60%);display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.can-detail-head>div{min-width:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.can-detail-label{width:100%;font-size:9px;font-weight:900;letter-spacing:.12em;color:#7fa4b2}.can-detail-id{font:900 36px/1 Consolas,"Segoe UI",sans-serif;color:#c8e9f2;letter-spacing:-.04em}.can-detail-name{font-size:14px;color:#8ea0a7;min-width:0}.can-facts{padding:14px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;border-bottom:1px solid #223239}.can-facts>div{border:1px solid #293b42;background:#0a1519;border-radius:6px;padding:9px}.can-facts span{display:block;font-size:8px;color:#647981;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.can-facts strong{font-size:12px;color:#d4dde0;word-break:break-word}.detail-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.detail-section-title h3{margin:0}.detail-section-title>span{font-size:10px;color:#6f8188}
.signal-table{border:1px solid #2a3b42;border-radius:7px;overflow:hidden}.signal-table-head,.signal-table-row{display:grid;grid-template-columns:minmax(210px,1.45fr) 150px minmax(155px,.9fr) 155px;gap:10px;align-items:center}.signal-table-head{min-height:34px;background:#121e23;padding:0 10px;color:#698089;font-size:8px;font-weight:900;letter-spacing:.1em}.signal-table-row{min-height:61px;padding:8px 10px;border-top:1px solid #26363d;background:#0b1519}.signal-table-row:nth-child(odd){background:#0d171b}.signal-table-row>div{min-width:0}.signal-table-row strong{display:block;font-size:12px;color:#dbe3e6;line-height:1.3}.signal-table-row small{display:block;font-size:10px;color:#708188;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-table-row code{font:700 10px Consolas,monospace;color:#91a7b0;white-space:normal}.signal-table-row>span:not(.source-badge){font:700 10px Consolas,monospace;color:#a9bac0}.signal-table-row .source-badge{justify-self:start;font-size:8px}
.observation-list{display:flex;flex-direction:column;gap:8px}.observation-card{border:1px solid #2a3b42;border-radius:7px;background:#0a1519;padding:11px 12px}.observation-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.observation-top>span:first-child{font-size:8px;font-weight:900;letter-spacing:.11em;color:#78929c}.payload-bytes{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.payload-bytes span{min-width:32px;height:31px;padding:0 6px;border:1px solid #3a5058;border-radius:4px;background:#111e23;display:grid;place-items:center;font:900 13px Consolas,monospace;color:#d0e4eb}.observation-card>strong{display:block;font-size:13px;color:#dbe3e6;margin-bottom:4px}.observation-card>p{font-size:12px;line-height:1.45;color:#85949a;margin:0 0 7px}.observation-meta{display:flex;gap:6px;flex-wrap:wrap}.observation-meta span{font-size:9px;color:#708087;border:1px solid #293940;border-radius:3px;padding:3px 5px;background:#0d181c}
@media(max-width:1350px){.can-workspace{grid-template-columns:minmax(520px,1fr) minmax(440px,.86fr)}.can-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-table-head,.signal-table-row{grid-template-columns:minmax(190px,1.25fr) 130px minmax(130px,.8fr) 135px}.can-toolbar{grid-template-columns:minmax(250px,1fr) 145px 165px auto}}
@media(max-width:1000px){.can-summary-strip{grid-template-columns:repeat(2,1fr)}.can-workspace{display:block;height:auto;min-height:0}.can-browser{border-right:0}.can-list{max-height:57vh}.can-detail{position:fixed;z-index:50;inset:62px 10px 10px;transform:translateY(110%);transition:.2s;border:1px solid #34474f;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.can-detail.open{transform:translateY(0)}}
@media(max-width:760px){.can-network-strip{grid-template-columns:1fr}.can-toolbar{grid-template-columns:1fr 1fr}.can-toolbar .kb-search{grid-column:1/-1}.can-toolbar .kb-count{display:none}.can-row{grid-template-columns:120px minmax(0,1fr)}.can-row-counts{display:none}.can-id-block strong{font-size:19px}.signal-table{overflow:auto}.signal-table-head,.signal-table-row{min-width:650px}.can-detail{inset:58px 6px 6px}.can-detail-id{font-size:30px}}
@media(max-width:520px){.can-summary-strip{grid-template-columns:1fr 1fr}.can-summary-strip>div{min-height:58px}.can-summary-strip strong{font-size:18px}.can-row{grid-template-columns:105px minmax(0,1fr);gap:10px}.can-id-block strong{font-size:17px}.can-main>strong{font-size:14px}.can-facts{grid-template-columns:1fr 1fr}}

/* v0.9.1 CAN loader fault isolation */
.can-load-warning{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(255,111,89,.42);border-left:4px solid #ff6f59;border-radius:10px;background:rgba(255,111,89,.08);display:grid;gap:5px}
.can-load-warning strong{font-size:16px;color:#ffd7d0}.can-load-warning span{font:14px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:#ff9f90;overflow-wrap:anywhere}.can-load-warning small{font-size:13px;color:var(--muted)}

/* v0.10 — machine-aware communication context */
.can-summary-strip.context-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.can-summary-strip .context-alert-stat{border-color:#65483a;background:#171310}
.can-summary-strip .context-alert-stat strong{color:#ff9d79}
.machine-context-bar{margin:0 0 10px;border:1px solid #34454b;border-left:4px solid var(--lime);border-radius:9px;background:linear-gradient(100deg,#111d20,#0d171b);padding:12px 14px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(260px,340px) minmax(245px,310px) auto;gap:14px;align-items:center}
.machine-context-title{min-width:0}.machine-context-title>span{display:block;font-size:9px;line-height:1;font-weight:900;letter-spacing:.14em;color:var(--lime);margin-bottom:5px}.machine-context-title>strong{display:block;color:#edf2f3;font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.machine-context-title>small{display:block;color:#718087;font-size:11px;margin-top:4px}
.machine-context-control{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.machine-context-control label{font-size:9px;font-weight:900;letter-spacing:.1em;color:#71838a}.machine-context-control select{height:42px;min-width:0;border:1px solid #3b515a;border-radius:6px;background:#091419;color:#d2dbde;padding:0 10px;font-size:12px;outline:0}.machine-context-control select:focus{border-color:#8fba1d;box-shadow:0 0 0 2px rgba(151,200,26,.12)}
.standard-toggle{height:42px;border:1px solid #2e4148;border-radius:6px;background:#0a1519;padding:0 11px;display:flex;align-items:center;gap:9px;color:#9aa8ad;font-size:11px;cursor:pointer}.standard-toggle input{accent-color:#9bcf1d;width:15px;height:15px}.standard-toggle span{line-height:1.25}
.context-legend{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.context-legend span,.can-standard,.can-model-context,.can-context-missing,.can-capture-unbound,.network-context,.observation-context,.context-health{border:1px solid;border-radius:3px;padding:4px 6px;font-size:8px;line-height:1;font-weight:900;letter-spacing:.055em;white-space:nowrap}.legend-standard,.can-standard{border-color:#416254!important;color:#a8d8b8!important;background:#0d1d16!important}.legend-bound,.can-model-context{border-color:#3b5e72!important;color:#add3e3!important;background:#0d1b22!important}.legend-missing,.can-context-missing{border-color:#76513c!important;color:#ffad83!important;background:#22140e!important}.can-capture-unbound{border-color:#5c5236;color:#d8c985;background:#19160d}
.can-row.needs-context{border-left:3px solid #b95f3f}.can-row.needs-context.selected{box-shadow:inset 3px 0 #d67550}.can-row-badges{min-height:21px}
.network-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:4px}.can-network-card .network-card-top>span{margin:0}.network-context{font-style:normal}.network-context.bound{border-color:#3b5e72;color:#add3e3;background:#0d1b22}.network-context.missing{border-color:#76513c;color:#ffad83;background:#22140e}
.can-workspace.context-aware{height:calc(100vh - 397px);min-height:560px}
.can-context-section{background:linear-gradient(100deg,rgba(28,44,49,.72),rgba(10,20,24,.3));border-bottom:1px solid #283940}.context-health{font-style:normal}.context-health.bound{border-color:#3b5e72;color:#add3e3;background:#0d1b22}.context-health.standard{border-color:#416254;color:#a8d8b8;background:#0d1d16}.context-health.missing{border-color:#76513c;color:#ffad83;background:#22140e}.context-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.context-fact-grid>div{border:1px solid #293a40;border-radius:6px;background:#091419;padding:9px 10px}.context-fact-grid span{display:block;font-size:8px;color:#6d7f86;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.context-fact-grid strong{display:block;color:#d1dbde;font-size:12px;line-height:1.35}.context-note{margin:10px 0 0;padding:9px 10px;border-left:3px solid #456875;background:#0b171c;color:#8fa3aa;font-size:12px;line-height:1.45}.context-note.warning{border-left-color:#d16c48;background:#1b110d;color:#dcb2a3}.context-assign-button{margin-top:10px;border:1px solid #3e5964;border-radius:5px;background:#102027;color:#a9c7d3;font-size:9px;font-weight:900;letter-spacing:.07em;padding:8px 10px;cursor:pointer}.context-assign-button:hover{border-color:#79a2b2;color:#d6e8ee}
.observation-card.unbound{border-color:#5a4035;background:linear-gradient(120deg,#15100e,#0c1519)}.observation-context{display:inline-flex;margin:2px 0 8px}.observation-context.bound{border-color:#3b5e72;color:#add3e3;background:#0d1b22}.observation-context.missing{border-color:#76513c;color:#ffad83;background:#22140e}

@media(max-width:1500px){.machine-context-bar{grid-template-columns:minmax(230px,1fr) minmax(240px,320px) minmax(210px,270px)}.context-legend{grid-column:1/-1;justify-content:flex-start}.can-workspace.context-aware{height:calc(100vh - 430px)}}
@media(max-width:1200px){.can-summary-strip.context-summary{grid-template-columns:repeat(3,1fr)}.machine-context-bar{grid-template-columns:1fr 1fr}.context-legend{grid-column:auto}.can-workspace.context-aware{height:auto;min-height:620px}}
@media(max-width:760px){.can-summary-strip.context-summary{grid-template-columns:1fr 1fr}.machine-context-bar{grid-template-columns:1fr}.context-legend{justify-content:flex-start}.machine-context-control{grid-template-columns:1fr}.machine-context-title>strong{white-space:normal}.context-fact-grid{grid-template-columns:1fr}}
