:root{--bg: #15120f;--panel: #1d1915;--panel-2: #25201a;--panel-3: #2e2820;--border: #3a332a;--border-soft: #2c261f;--hairline: #383026;--text: #f3ece0;--text-dim: #c4b8a4;--muted: #8a7f6e;--copper: #d08a3a;--copper-deep: #b06f28;--copper-soft: #2a1f12;--sage: #88b06a;--sage-soft: #1c2417;--terracotta: #c95a3f;--terracotta-soft: #2a1714;--amber: #d9a441;--amber-soft: #2a2010;--radius: 4px;--radius-lg: 6px;--shadow: 0 1px 0 rgba(0, 0, 0, .4);--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;background-image:radial-gradient(120% 60% at 50% -10%,rgba(208,138,58,.06),transparent 60%);background-attachment:fixed}code,.mono,pre{font-family:var(--font-mono)}::selection{background:#d08a3a4d}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:linear-gradient(180deg,var(--panel) 0%,var(--bg) 100%);border-bottom:1px solid var(--border)}.brand{font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.brand .mark{width:22px;height:22px;border-radius:var(--radius);background:linear-gradient(135deg,var(--copper),var(--copper-deep));display:inline-grid;place-items:center;box-shadow:0 0 12px #d08a3a59;flex:none}.brand .mark:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bg);display:block}.brand .sub{color:var(--muted);font-weight:400;font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.token-bar{display:flex;gap:8px;align-items:center}.token-bar input{width:220px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:320px;display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.login-card .brand{font-size:16px}.login-hint{color:var(--muted);font-size:13px;margin:0}.login-card input{width:100%}.tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);background:var(--panel)}.tabs button{font-family:var(--font-display);background:transparent;border:none;color:var(--muted);padding:11px 16px;cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.01em;border-bottom:2px solid transparent;transition:color .12s,border-color .12s;display:flex;align-items:center;gap:7px}.tabs button:hover{color:var(--text-dim)}.tabs button.active{color:var(--text);border-bottom-color:var(--copper)}.badge{display:inline-block;min-width:19px;text-align:center;background:var(--panel-3);border-radius:9px;padding:1px 6px;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.tabs button.active .badge{background:var(--copper-soft);color:var(--copper)}main{flex:1;padding:20px 24px}.split{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}@media(max-width:960px){.split{grid-template-columns:1fr}}.list,.detail,.editor{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.list{padding:14px}.list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.list-head h2,.detail h2,.editor h2{margin:0;font-size:13px;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.card{background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius);padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s;position:relative}.card:hover{border-color:var(--border);background:var(--panel-3)}.card.selected{border-color:var(--copper);background:var(--copper-soft)}.card.selected:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--copper);border-radius:2px}.card-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px}.card-title code{font-size:13px}.card-sub{color:var(--muted);margin-top:5px;font-size:12.5px}.card-meta{color:var(--muted);font-size:11.5px;margin-top:5px}.method{color:var(--copper);font-weight:600;font-size:11px;font-family:var(--font-mono);background:var(--copper-soft);padding:1px 5px;border-radius:3px;border:1px solid rgba(208,138,58,.25)}.linked,.linked .dot{color:var(--sage)}.unlinked{color:var(--terracotta)}.pill{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:3px;background:var(--panel-3);color:var(--muted);border:1px solid var(--border-soft)}.pill.off{background:var(--terracotta-soft);color:#e0a394;border-color:#c95a3f4d}.pill.warn{background:var(--amber-soft);color:var(--amber);border-color:#d9a4414d}.pill.ok{background:var(--sage-soft);color:var(--sage);border-color:#88b06a4d}.detail,.editor{padding:18px;min-height:240px}.empty{color:var(--muted);padding:48px 16px;text-align:center;font-size:13px}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.editor-head h2{font-family:var(--font-display);font-size:19px;font-weight:600;text-transform:none;letter-spacing:-.01em;color:var(--text);margin:0;line-height:1.2}.editor-head h2 code{font-size:17px}.actions{display:flex;gap:8px;flex:none}.workspace{display:flex;flex-direction:column;gap:0}.section{padding:16px 0;border-top:1px solid var(--border-soft)}.section:first-child{border-top:none;padding-top:4px}.section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.section-num{font-family:var(--font-mono);font-size:11px;color:var(--copper);font-weight:500;letter-spacing:.05em}.section-title{font-family:var(--font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.section-help{color:var(--muted);font-size:12px;margin-left:auto}.section-help button{display:inline;padding:0 4px}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.form label.check{flex-direction:row;align-items:center;gap:8px;color:var(--text);font-size:13px}.row{display:flex;gap:12px}.row .grow{flex:1}.row .grow-0{flex:0 0 130px}fieldset{border:1px solid var(--border-soft);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px}legend{color:var(--muted);padding:0 6px;font-size:12px;font-family:var(--font-mono)}input,select,textarea,button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius);padding:8px 10px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--copper);box-shadow:0 0 0 1px #d08a3a33}textarea{resize:vertical}textarea.mono{font-size:12.5px;line-height:1.55}button{cursor:pointer;background:var(--copper);border-color:var(--copper-deep);color:#1a1208;font-weight:600;font-family:var(--font-body);border-radius:var(--radius);transition:background .12s}button:hover{background:#e09a4a}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:transparent;color:var(--text-dim);border-color:var(--border);font-weight:500}button.ghost:hover{background:var(--panel-2);border-color:var(--border)}button.danger{background:transparent;color:var(--terracotta);border-color:#c95a3f66}button.danger:hover{background:var(--terracotta-soft)}.hint{color:var(--muted);font-size:12px}.hint code,.hint strong{color:var(--text-dim)}.banner{padding:10px 12px;border-radius:var(--radius);margin-bottom:12px;font-size:13px}.banner.error{background:var(--terracotta-soft);color:#e0a394;border:1px solid rgba(201,90,63,.35)}.banner.ok{background:var(--sage-soft);color:var(--sage);border:1px solid rgba(136,176,106,.35)}.conn-strip{display:flex;align-items:stretch;gap:0;margin:4px 0;background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden}.conn-node{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;position:relative}.conn-node+.conn-node{border-left:1px solid var(--border-soft)}.conn-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.conn-value{font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-value code{font-size:13px}.conn-sub{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-arrow{display:grid;place-items:center;width:28px;color:var(--copper);flex:none;font-family:var(--font-mono);font-size:16px}.conn-state-empty .conn-value{color:var(--terracotta)}.conn-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel-2);border:1px solid var(--border-soft);border-radius:var(--radius);padding:12px 14px;flex-wrap:wrap}.conn-card.empty{border-style:dashed;border-color:#c95a3f66}.conn-card-info{display:flex;flex-direction:column;gap:3px;min-width:0}.conn-card-info .name{font-weight:600}.conn-card-info .detail-line{color:var(--muted);font-size:12px}.conn-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.test{display:flex;flex-direction:column;gap:10px}.test .hint{margin-bottom:2px}.test-result{border-radius:var(--radius);padding:10px 12px}.test-result.ok{background:var(--sage-soft);border:1px solid rgba(136,176,106,.35)}.test-result.error{background:var(--terracotta-soft);border:1px solid rgba(201,90,63,.35)}.test-result pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12.5px}.import{display:flex;flex-direction:column;gap:14px}.import>label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.import textarea,.import input{width:100%}.import-tools .list-head{display:flex;align-items:center;justify-content:space-between}.import-row{display:flex;gap:10px;align-items:flex-start}.import-row .check{flex-direction:row;margin-top:2px}.import-row .card-body{flex:1;min-width:0}.import-row .card-title code{font-size:13px}button.inline,button.ghost.inline{padding:2px 8px;font-size:12px;font-weight:500;margin-left:4px}.layer-note{margin:0 0 16px;padding:11px 14px;background:var(--panel-2);border:1px solid var(--border-soft);border-left:2px solid var(--copper);border-radius:var(--radius);color:var(--text-dim);font-size:12.5px;line-height:1.55}.layer-note strong{color:var(--text);font-weight:600}.access-view{display:flex;flex-direction:column;gap:4px}.access-view h2{font-family:var(--font-display);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:18px 0 4px}.access-view h2:first-child{margin-top:4px}.access-pick{display:flex;gap:8px;margin:0 0 12px}.access-pick input{flex:1}.grant-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:2px}.grant-list li{padding:7px 10px;border-radius:var(--radius);border:1px solid transparent;transition:background .1s}.grant-list li:hover{background:var(--panel-2)}.grant-list label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}.grant-list input[type=checkbox]{accent-color:var(--copper)}.cred-profile{margin:8px 0}.cred-profile .actions{display:flex;gap:8px;margin-top:10px}.form textarea{width:100%;font-family:var(--font-mono);font-size:12px;resize:vertical}.agents-view,.channels-view{display:flex;flex-direction:column;gap:4px}.agent-list,.channel-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:4px}.agent-list li,.channel-list li{padding:9px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2)}.agent-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.agent-row .actions{display:flex;align-items:center;gap:8px}.agent-editor,.channel-editor{margin:12px 0;display:flex;flex-direction:column;gap:10px}.agent-editor label,.channel-editor label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.agent-editor label.inline,.channel-editor label.inline,.agent-row label.inline{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.agent-editor .grant-list label{flex-direction:row;align-items:center;gap:10px}.authz-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:6px}.authz-title{font-family:var(--font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.authz-count{font-family:var(--font-mono);font-size:11px;color:var(--copper)}.agent-editor textarea{width:100%;font-family:var(--font-mono);font-size:12px;resize:vertical}.agent-editor input[type=checkbox],.channel-editor input[type=checkbox],.agent-row input[type=checkbox]{accent-color:var(--copper)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
