:root{
  --nav:#0f2438;--nav2:#0b1c2c;--nav3:#17354f;--accent:#2878c8;--accent2:#0d9bd7;
  --bg:#eef2f6;--panel:#fff;--panel2:#f7f9fb;--line:#dce4eb;--text:#17283a;--muted:#6d7d8d;
  --good:#1f9d72;--warn:#d89724;--bad:#cf4c55;--shadow:0 6px 22px rgba(20,40,60,.08);
  --sidebar:236px;--topbar:46px;--tabs:36px;--status:24px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-size:12px}button,input{font:inherit;color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,430px) 1fr;background:linear-gradient(145deg,#0b1c2c 0%,#0f2438 55%,#17354f 100%)}
.login-panel{background:#fff;padding:48px 46px;display:flex;flex-direction:column;justify-content:center;box-shadow:20px 0 60px rgba(0,0,0,.18);z-index:2}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.brand-mark{width:31px;height:31px;border-radius:7px;background:linear-gradient(135deg,#2b87d8,#0eb4c6);position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.1) inset}.brand-mark:before,.brand-mark:after{content:"";position:absolute;left:6px;right:6px;height:3px;border-radius:3px;background:#fff;transform:skewX(-24deg)}.brand-mark:before{top:9px}.brand-mark:after{top:18px;opacity:.65}.login-brand strong{display:block;font-size:16px}.login-brand span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.login-panel h1{font-size:24px;letter-spacing:-.025em;margin:0 0 6px}.login-panel>p{margin:0 0 24px;color:var(--muted);line-height:1.5}.login-form{display:grid;gap:14px}.field{display:grid;gap:5px}.field label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:#718293}.input{height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(40,120,200,.1)}.login-error{min-height:18px;color:#a42a2a;font-size:10px}.login-submit{height:38px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.login-submit:hover{background:#2169af}.login-submit:disabled{opacity:.55;cursor:wait}.login-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:9.5px;color:var(--muted);line-height:1.5}.login-hero{padding:70px;display:flex;align-items:flex-end;color:#dce8f2;position:relative;overflow:hidden}.login-hero:before{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-130px;top:-190px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}.login-hero-content{position:relative;max-width:650px}.login-hero h2{font-size:34px;line-height:1.1;letter-spacing:-.035em;margin:0 0 12px;color:#fff}.login-hero p{font-size:13px;line-height:1.65;color:#a9bdcc;margin:0}.login-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.login-badge{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:16px;padding:6px 10px;font-size:9.5px;color:#bdd0de}

/* Main shell */
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;height:100vh;background:var(--bg)}.app-shell.sidebar-collapsed{--sidebar:54px}.sidebar{position:relative;z-index:6;background:linear-gradient(180deg,var(--nav) 0%,var(--nav2) 100%);color:#c9d5df;height:100vh;display:flex;flex-direction:column;border-right:1px solid #081727;overflow:hidden}.brand{height:58px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.07);flex:0 0 auto}.brand-name strong{display:block;font-size:13px;letter-spacing:.02em;color:#fff}.brand-name span{font-size:10px;color:#8298aa;white-space:nowrap}.sidebar-collapsed .brand{padding:0 12px}.sidebar-collapsed .brand-name{display:none}.sidebar-search{padding:10px 10px 7px}.sidebar-search input{width:100%;height:30px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12);color:#e8f1f7;border-radius:5px;padding:0 9px;outline:none}.sidebar-search input::placeholder{color:#7290a5}.sidebar-collapsed .sidebar-search{display:none}.nav-scroll{overflow:auto;padding:2px 7px 60px;scrollbar-width:thin;scrollbar-color:#29465d transparent}.nav-group{margin:2px 0}.nav-group-head{height:30px;width:100%;display:flex;align-items:center;gap:8px;color:#8da4b5;background:transparent;border:0;padding:0 8px;text-transform:uppercase;letter-spacing:.075em;font-size:9px;cursor:pointer}.nav-group-head .chev{margin-left:auto}.nav-group.closed .nav-items{display:none}.nav-item{height:30px;display:flex;align-items:center;gap:9px;padding:0 9px;border-radius:5px;color:#c3d0da;cursor:pointer;position:relative;white-space:nowrap}.nav-item:hover{background:rgba(255,255,255,.055);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(40,120,200,.3),rgba(40,120,200,.11));color:#fff}.nav-item.active:before{content:"";position:absolute;left:-7px;top:4px;bottom:4px;width:3px;border-radius:2px;background:#42a5f5}.nav-icon{width:17px;height:17px;display:grid;place-items:center;color:#7fa4bf;flex:0 0 17px;font-size:10px}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-state{margin-left:auto;font-size:8px;border-radius:8px;padding:2px 5px;background:#213d54;color:#91a9bb}.nav-state.live{background:#184c3b;color:#8dd8ba}.sidebar-collapsed .nav-group-head{display:none}.sidebar-collapsed .nav-scroll{padding:6px 6px 60px}.sidebar-collapsed .nav-item{justify-content:center;height:34px;padding:0}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-state{display:none}.sidebar-footer{position:absolute;left:0;right:0;bottom:0;height:54px;background:rgba(5,15,25,.48);border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 10px;gap:8px}.status-led{width:7px;height:7px;border-radius:50%;background:#37c48b;box-shadow:0 0 8px #37c48b}.sidebar-footer small{color:#6f8da2;line-height:1.35}.sidebar-collapsed .sidebar-footer small{display:none}
.main-shell{min-width:0;height:100vh;display:grid;grid-template-rows:var(--topbar) var(--tabs) 1fr var(--status)}.topbar{z-index:5;display:flex;align-items:center;background:#fff;border-bottom:1px solid var(--line);padding:0 10px;gap:8px;box-shadow:0 1px 3px rgba(20,50,70,.03)}.icon-btn,.btn{border:1px solid var(--line);background:#fff;border-radius:5px;height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;cursor:pointer}.icon-btn{width:29px;padding:0}.icon-btn:hover,.btn:hover{background:#f5f8fb;border-color:#cbd8e2}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:#a9363e;border-color:#efc8cc;background:#fff8f8}.scope-chip{min-width:190px;height:31px;border-right:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 10px}.scope-chip .scope-dot{width:7px;height:7px;border-radius:50%;background:var(--good)}.scope-chip strong{display:block;font-size:10.5px}.scope-chip small{display:block;color:var(--muted);font-size:8.5px}.global-search{height:29px;border:1px solid var(--line);border-radius:5px;background:#f7f9fb;display:flex;align-items:center;gap:6px;padding:0 8px;min-width:240px;max-width:440px;flex:1}.global-search input{border:0;outline:0;background:transparent;min-width:0;flex:1}.global-search kbd,kbd{font-size:8.5px;border:1px solid #cfd8e1;border-bottom-color:#b7c2cc;border-radius:4px;background:#fff;padding:1px 4px;color:#647487}.top-spacer{flex:1}.live-chip{height:27px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid #cfeee1;border-radius:5px;color:#147854;background:#f2fbf7;font-size:9px}.pulse{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(31,157,114,.12)}.tb-user{display:flex;align-items:center;gap:8px;padding:2px 5px 2px 8px;border-radius:5px}.tb-user .nm{text-align:right;line-height:1.1}.tb-user b{display:block;font-size:10.5px}.tb-user small{display:block;color:var(--muted);font-size:8.5px}.user-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#2c5e9e;color:#fff;font-weight:700;font-size:9px}.tabsbar{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:stretch;padding-left:6px;overflow:hidden}.tabs-track{display:flex;overflow:auto;scrollbar-width:none}.tabs-track::-webkit-scrollbar{display:none}.tab{height:35px;min-width:116px;max-width:210px;display:flex;align-items:center;gap:6px;padding:0 9px;border-right:1px solid var(--line);border-bottom:2px solid transparent;color:#5e6f7d;cursor:pointer;background:#f8fafc}.tab:hover{background:#fff}.tab.active{background:#fff;border-bottom-color:var(--accent);color:var(--text);font-weight:650}.tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tab-close{opacity:.45;border:0;background:transparent;cursor:pointer}.tab.pinned .tab-close{display:none}.workspace{min-height:0;overflow:auto;background:var(--bg);padding:12px 14px 18px}.statusbar{height:var(--status);background:#0b1f36;color:#7e93ab;padding:0 12px;font-size:9px;display:flex;align-items:center;justify-content:space-between}.statusbar .ok{color:#7fd3a3}.statusbar .warn{color:#f0c675}

/* Content */
.page-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:9px}.page-title{margin:0;font-size:18px;letter-spacing:-.015em}.page-subtitle{margin-top:2px;color:var(--muted);font-size:10px}.page-actions{margin-left:auto;display:flex;gap:6px}.metrics{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:7px;margin-bottom:8px}.metric{background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px 10px;min-height:68px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#7aa3c5}.metric.good:before{background:var(--good)}.metric.warn:before{background:var(--warn)}.metric.bad:before{background:var(--bad)}.metric .label{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#7a8c99}.metric .value{font-size:20px;font-weight:720;line-height:1.25;margin-top:3px;letter-spacing:-.03em}.metric .sub{font-size:9px;margin-top:2px;color:var(--muted)}.grid{display:grid;gap:8px}.grid.cols-2{grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr)}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;min-width:0;box-shadow:0 1px 2px rgba(30,50,70,.025)}.panel-head{height:36px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #e7edf2;gap:7px}.panel-head h3{margin:0;font-size:11px}.panel-head .sub{color:var(--muted);font-size:9px}.panel-body{padding:10px}.panel.flush .panel-body{padding:0}.mt-8{margin-top:8px}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{height:29px;text-align:left;padding:0 8px;background:#f7f9fb;color:#6d7d8d;font-size:8.5px;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid var(--line)}.data-table td{padding:7px 8px;border-bottom:1px solid #edf1f4;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fafcff}.pill{display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border-radius:9px;background:#edf2f6;color:#536678;font-size:8.5px;font-weight:700}.pill.good{background:#e8f7f0;color:#14734f}.pill.bad{background:#fff0f1;color:#a9363e}.pill.warn{background:#fff7e8;color:#946213}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.health-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px}.health-card .head{display:flex;align-items:center;gap:8px}.health-card h3{font-size:11px;margin:0}.health-card .big{font-size:19px;font-weight:740;margin-top:8px}.health-card .sub{font-size:9px;color:var(--muted);margin-top:2px}.health-card .mini{margin-top:8px;padding-top:8px;border-top:1px solid #edf1f4;display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:9px}.trend{display:grid;gap:6px}.trend-row{display:grid;grid-template-columns:70px 1fr 40px 40px;gap:8px;align-items:center;font-size:9.5px}.trend-track{height:7px;background:#e8edf2;border-radius:5px;overflow:hidden;display:flex}.trend-accept{height:100%;background:#2878c8}.trend-reject{height:100%;background:#cf4c55}.empty-state{background:#fff;border:1px dashed #cbd6df;border-radius:7px;padding:34px;text-align:center;color:#6f7f8f}.empty-state strong{display:block;font-size:13px;color:#2b3b4d;margin-bottom:5px}.empty-state code{display:inline-block;margin-top:8px;padding:3px 6px;background:#f0f3f6;border-radius:4px;font-size:9px}.error-state{border-color:#efc8cc;background:#fff8f8;color:#934047}.loading{padding:28px;text-align:center;color:var(--muted)}.kv{display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-size:9.5px}.kv div:nth-child(odd){color:var(--muted)}.kv div:nth-child(even){font-weight:650;text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.nowrap{white-space:nowrap}.right{text-align:right}.good-text{color:#14734f}.bad-text{color:#a9363e}

/* Command palette + toast */
.command-backdrop{position:fixed;inset:0;background:rgba(6,17,29,.42);z-index:200;display:flex;justify-content:center;align-items:flex-start;padding-top:90px}.command-palette{width:min(640px,calc(100vw - 30px));background:#fff;border:1px solid #ccd6df;border-radius:8px;box-shadow:0 25px 80px rgba(5,18,31,.35);overflow:hidden}.command-input-wrap{height:48px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line)}.command-input-wrap input{flex:1;border:0;outline:0;font-size:13px}.command-section-label{padding:9px 12px 5px;color:var(--muted);text-transform:uppercase;font-size:8px;letter-spacing:.07em}.command-results{max-height:380px;overflow:auto}.command-row{display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer}.command-row:hover,.command-row.active{background:#f2f6fa}.command-row strong{display:block;font-size:10.5px}.command-row .group{font-size:8.5px;color:var(--muted)}.command-row .right{margin-left:auto;color:var(--muted);font-size:8.5px}.command-footer{border-top:1px solid var(--line);padding:7px 12px;display:flex;gap:14px;color:var(--muted);font-size:8.5px}.toast-host{position:fixed;right:14px;bottom:36px;z-index:300;display:grid;gap:7px}.toast{width:310px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;box-shadow:var(--shadow);padding:9px 10px}.toast.error{border-left-color:var(--bad)}.toast strong{display:block;font-size:10px}.toast p{margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.4}

@media(max-width:1180px){.metrics{grid-template-columns:repeat(3,1fr)}.global-search{max-width:320px}.tb-user .nm{display:none}}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-panel{max-width:none}.scope-chip{min-width:auto}.scope-chip small{display:none}.global-search{display:none}.health-grid,.grid.cols-2{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}

/* RADIUS dictionary */
.dictionary-toolbar{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(160px,.75fr) minmax(130px,.6fr) minmax(170px,.75fr) auto auto;gap:8px;align-items:end}
.dictionary-toolbar .input{width:100%}.dictionary-search{min-width:0}.dictionary-check{height:36px;display:flex;align-items:center;gap:7px;white-space:nowrap;padding:0 4px;color:#536678;font-weight:650}.dictionary-check input{accent-color:var(--accent)}
.dictionary-toolbar-actions{height:36px;display:flex;align-items:center;gap:6px}.dictionary-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:8px;align-items:start}
.dictionary-detail-panel{position:sticky;top:0}.dictionary-table-wrap{max-height:520px;overflow:auto;border:1px solid #e8edf2;border-radius:5px}.dictionary-table thead th{position:sticky;top:0;z-index:1}.dictionary-table tbody tr{cursor:pointer}.dictionary-table tbody tr.selected td{background:#edf5fc}.dictionary-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.dictionary-link{border:0;background:transparent;padding:0;color:#1f5f9d;font-weight:700;cursor:pointer;text-align:left}.dictionary-link:hover{text-decoration:underline}.cell-sub{margin-top:2px;color:var(--muted);font-size:8px}.dictionary-pager{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px 0;color:var(--muted);font-size:9px}.dictionary-pager>div{display:flex;gap:6px}.dictionary-pager .btn:disabled{opacity:.45;cursor:not-allowed}
.dictionary-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #edf1f4}.dictionary-detail-title strong{display:block;font-size:14px;word-break:break-word}.dictionary-detail-title span:not(.pill){display:block;color:var(--muted);font-size:9px;margin-top:3px}.dictionary-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.dictionary-kv>div{border:1px solid #edf1f4;border-radius:5px;padding:7px;background:#fafcfe;min-width:0}.dictionary-kv span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.045em}.dictionary-kv strong{display:block;margin-top:3px;font-size:10px;overflow-wrap:anywhere}.dictionary-description{margin-top:10px;padding:8px;border-left:3px solid #b7c9d8;background:#f7fafc;color:#526779;line-height:1.45;font-size:9.5px}.dictionary-section{margin-top:12px}.dictionary-section h4{margin:0 0 6px;font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#718293}.dictionary-pills{display:flex;gap:5px;flex-wrap:wrap}.dictionary-source{display:grid;gap:3px;padding:7px;border:1px solid #edf1f4;border-radius:5px;background:#fafcfe;overflow-wrap:anywhere}.dictionary-source span:last-child{color:var(--muted);font-size:8.5px}.table-wrap.compact{max-height:240px;overflow:auto;border:1px solid #edf1f4;border-radius:5px}.dictionary-metrics .metric{min-height:64px}
@media(max-width:1280px){.dictionary-toolbar{grid-template-columns:minmax(220px,1.4fr) 160px 130px 170px auto}.dictionary-toolbar-actions{grid-column:1/-1}.dictionary-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.62fr)}}
@media(max-width:980px){.dictionary-toolbar{grid-template-columns:1fr 1fr}.dictionary-search{grid-column:1/-1}.dictionary-layout{grid-template-columns:1fr}.dictionary-detail-panel{position:static}.dictionary-table-wrap{max-height:420px}}

.dictionary-table tbody tr:focus{outline:2px solid rgba(40,120,200,.35);outline-offset:-2px}.dictionary-guide{margin-top:12px;padding:10px;border:1px solid #dbe6ee;border-left:3px solid var(--accent);border-radius:6px;background:#f8fbfd}.dictionary-guide.generic{border-left-color:var(--warn);background:#fffaf1}.dictionary-guide .dictionary-section:first-child{margin-top:0}.dictionary-guide p{margin:0;color:#415669;font-size:9.5px;line-height:1.5}.dictionary-example{padding:8px 9px;border:1px solid #dde6ed;border-radius:5px;background:#fff;color:#23384a;overflow-wrap:anywhere}.dictionary-notes{margin:0;padding-left:18px;color:#566a7c;font-size:9.5px;line-height:1.5}.dictionary-notes li+li{margin-top:4px}

.dictionary-doc-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:7px 8px;border:1px solid #e2e9ef;border-radius:5px;background:#fafcfd;color:#637689;font-size:8.5px}
.dictionary-sources{display:grid;gap:6px}.dictionary-source-link{display:grid;gap:2px;padding:7px 8px;border:1px solid #dfe8ef;border-radius:5px;background:#fff;text-decoration:none;color:#29455c}.dictionary-source-link:hover{border-color:#9fbfd8;background:#f7fbfe}.dictionary-source-link strong{font-size:9.5px}.dictionary-source-link span{font-size:8px;color:#748696}
