:root{--mint:#72d4bf;--mint2:#e7f8f3;--ink:#24312f;--muted:#71807c;--bg:#f5f3ee;--card:#fff;--line:#e6e2d9;--dark:#21302d;--warn:#fff7df;--danger:#fff0ed;--shadow:0 10px 30px rgba(40,55,51,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--dark);color:#fff;padding:27px 18px;position:sticky;top:0;height:100vh}.brand{font-size:23px;font-weight:760;line-height:1.1}.brand .heart{color:var(--mint)}.brand-sub{font-size:12px;color:#b8c8c4;margin:7px 0 30px}.nav button{width:100%;border:0;background:transparent;color:#dce7e4;text-align:left;padding:12px 14px;border-radius:11px;margin:3px 0;cursor:pointer}.nav button.active,.nav button:hover{background:rgba(114,212,191,.16);color:#fff}.sidebar-foot{position:absolute;bottom:22px;left:18px;right:18px;border-top:1px solid rgba(255,255,255,.12);padding-top:15px;color:#adbbb7;font-size:12px;line-height:1.5}.main{padding:30px 34px 55px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.crumb{color:var(--muted);font-size:13px}.btn{border:1px solid var(--line);border-radius:11px;padding:10px 14px;background:#fff;cursor:pointer;font-weight:650}.btn.primary{background:var(--mint);border-color:var(--mint);color:#17342d}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:end}.pagehead h1{margin:0;font-size:32px}.pagehead p{margin:7px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.stat small{color:var(--muted)}.stat b{font-size:24px;display:block;margin-top:4px}.toolbar{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:var(--shadow);margin-bottom:16px}.searchrow{display:flex;gap:10px}.search{flex:1;border:1px solid var(--line);border-radius:11px;padding:12px 14px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.filter{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff}.layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:16px;align-items:start}.list{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#fbfbf9;padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);cursor:pointer}td{padding:14px 12px;border-bottom:1px solid #f0ede7;vertical-align:top}tr.item{cursor:pointer}tr.item:hover,tr.item.selected{background:#f2fbf8}.title{font-weight:720}.sub{font-size:12px;color:var(--muted);margin-top:4px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--mint2);color:#286d5e}.badge.gray{background:#f0f1ee;color:#65706c}.badge.warn{background:var(--warn);color:#8a6500}.badge.danger{background:var(--danger);color:#a24435}.pager{padding:13px 15px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.detail{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.empty{padding:44px 25px;text-align:center;color:var(--muted)}.detail-head{padding:21px;border-bottom:1px solid var(--line)}.detail-head h2{margin:5px 0 7px;font-size:23px}.detail-head a{color:#448f80;font-size:12px;overflow-wrap:anywhere}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 16px;overflow:auto}.tab{border:0;background:transparent;padding:13px 10px;cursor:pointer;color:var(--muted);white-space:nowrap}.tab.active{color:var(--ink);border-bottom:2px solid var(--mint)}.panel{padding:20px}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px 13px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.section{margin-top:20px}.section h3{font-size:14px;margin:0 0 10px}.rel{border:1px solid var(--line);border-radius:12px;padding:11px;margin:8px 0}.rel strong{font-size:13px}.rel small{display:block;color:var(--muted);margin-top:4px}.notearea{width:100%;min-height:100px;border:1px solid var(--line);border-radius:11px;padding:11px;resize:vertical}.status-select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.toast{position:fixed;right:25px;bottom:25px;background:var(--dark);color:#fff;padding:12px 15px;border-radius:10px;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1200px){.layout{grid-template-columns:1fr}.detail{position:relative;top:0;max-height:none}}@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:20px 14px}.stats{grid-template-columns:repeat(2,1fr)}.hide-mobile{display:none}.pagehead{display:block}.searchrow{flex-direction:column}}

.connector-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.connector-dot{width:8px;height:8px;border-radius:50%;background:#aeb8b5}
.connector-status.loading .connector-dot{background:#d7a52c}
.connector-status.success .connector-dot{background:#4fa889}
.connector-status.error .connector-dot{background:#c76455}
@media(max-width:800px){.connector-status{display:none}}
