:root{
  --bg:#f4f6f8;--panel:#fff;--line:#dde3e8;--text:#17212b;
  --muted:#667481;--accent:#12385a;--accent2:#0d6e8b;--soft:#eef4f8;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:280px minmax(320px,1fr) 120px;align-items:center;gap:18px;padding:0 22px}
.brand{display:flex;align-items:center;gap:11px}.brand strong{display:block}.brand span{font-size:12px;color:var(--muted)}
.mark{width:38px;height:38px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}
.searchbar{display:flex;gap:8px}.searchbar input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fafcfd}
button{border:0;border-radius:7px;padding:10px 14px;cursor:pointer}.searchbar button,.detail-actions button{background:var(--accent);color:#fff}
.status{font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:flex-end;gap:7px}
#healthDot{width:9px;height:9px;border-radius:50%;background:#aab3ba}.ok{background:#2c9b61!important}
.workspace{height:calc(100vh - 74px);display:grid;grid-template-columns:245px minmax(450px,1fr) 340px}
.sidebar,.detail{background:#fff;padding:20px;border-right:1px solid var(--line);overflow:auto}
.detail{border-right:0;border-left:1px solid var(--line)}
.sidebar section{margin-bottom:28px}.sidebar h3,.detail h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
select{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;margin-bottom:10px}
.repo-list{display:grid;gap:7px}.repo-item{padding:9px;border-radius:7px;background:var(--soft);font-size:12px}
.repo-item strong{display:block;font-size:13px}.repo-item span{color:var(--muted)}
.navbtn{display:block;width:100%;text-align:left;background:transparent;color:var(--text);margin:3px 0}
.navbtn.active{background:var(--soft);color:var(--accent);font-weight:700}
.system-card div{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}
.content{padding:24px;overflow:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.section-head h1{margin:0 0 5px;font-size:24px}.section-head p{margin:0;color:var(--muted);font-size:13px}
.pill{background:var(--soft);border:1px solid #d7e4ec;border-radius:999px;padding:6px 10px;font-size:12px;color:var(--accent)}
.results{display:grid;gap:10px}.result{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;cursor:pointer}
.result:hover{border-color:#9eb5c5}.result.selected{border-color:var(--accent2);box-shadow:0 0 0 1px var(--accent2)}
.result-head{display:flex;justify-content:space-between;gap:15px}.result h2{font-size:15px;margin:0 0 5px}
.result .meta{font-size:12px;color:var(--muted)}.result .path{font-size:11px;color:#5c6974;margin-top:8px;word-break:break-all}
.result .preview{font-size:13px;line-height:1.55;margin-top:10px;color:#36424c}
mark{background:#fff0a8;padding:0 2px}.empty{padding:26px;border:1px dashed #cbd4db;border-radius:10px;color:var(--muted);text-align:center}
.detail-empty{margin-top:30px}.detail-kicker{font-size:11px;color:var(--accent2);font-weight:800;letter-spacing:.1em}
.detail h2{font-size:19px;word-break:break-word}.detail-actions{margin:15px 0}.detail dl{margin:20px 0}
.detail dt{font-size:11px;text-transform:uppercase;color:var(--muted);margin-top:12px}.detail dd{margin:3px 0 0;font-size:13px}
.path{word-break:break-all}.snippet{background:var(--soft);padding:12px;border-radius:8px;font-size:13px;line-height:1.5}
pre{white-space:pre-wrap;word-break:break-word;background:#111b24;color:#dce6ed;padding:12px;border-radius:8px;font-size:11px}
.geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.geo-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.geo-card.wide{grid-column:1/-1}.tag{display:inline-block;margin:3px;padding:5px 8px;border-radius:999px;background:var(--soft);font-size:12px}
.curve{display:grid;grid-template-columns:90px 90px 1fr;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}
.hidden{display:none!important}
@media(max-width:1050px){.workspace{grid-template-columns:210px 1fr}.detail{display:none}.topbar{grid-template-columns:220px 1fr 80px}}

.filename-link{color:var(--text);text-decoration:none}
.filename-link:hover{color:var(--accent2);text-decoration:underline}
.open-inline{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:var(--accent2);text-decoration:none}
.open-inline:hover{text-decoration:underline}
.action-link{display:inline-block;border-radius:7px;padding:10px 14px;background:var(--accent2);color:#fff;text-decoration:none;margin-right:6px}
.admin-note{background:#fff7dc;border:1px solid #ead699;border-radius:9px;padding:12px 14px;font-size:13px;line-height:1.5;margin-bottom:15px}
.admin-grid{display:grid;gap:12px}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.admin-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.admin-card h2{font-size:15px;margin:0 0 4px}
.admin-meta{font-size:12px;color:var(--muted)}
.info-line{margin-top:8px}
.admin-row{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;margin-top:14px}
.admin-row label{font-size:12px;color:var(--muted);font-weight:700}
.admin-row input{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px}
.admin-actions{margin-top:12px;display:flex;gap:8px}
.admin-actions button{background:var(--accent);color:#fff}
.admin-actions button.secondary{background:var(--soft);color:var(--accent);border:1px solid var(--line)}
.repo-status{font-size:11px;font-weight:700;padding:5px 8px;border-radius:999px;background:var(--soft)}
.repo-message{margin-top:10px;font-size:12px;color:var(--muted)}

.connector-create{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:17px;
  margin-bottom:16px;
}
.connector-create h2{font-size:16px;margin:0 0 12px}
.connector-tabs{display:flex;gap:8px;margin-bottom:14px}
.connector-tab{
  background:var(--soft);
  color:var(--accent);
  border:1px solid var(--line);
}
.connector-tab.active{background:var(--accent);color:#fff}
.connector-form{border-top:1px solid var(--line);padding-top:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-grid.one{grid-template-columns:1fr}
.form-grid label{font-size:12px;color:var(--muted);font-weight:700}
.form-grid input,.form-grid textarea{
  display:block;
  width:100%;
  margin-top:6px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:7px;
  font-family:inherit;
}
.form-grid textarea{font-family:Consolas,monospace;font-size:11px}
.connector-form>button{background:var(--accent);color:#fff}
.admin-note.compact{margin:5px 0 12px}
@media(max-width:850px){.form-grid{grid-template-columns:1fr}}
