:root{--color-primary:#50e3c2;--color-primary-rgb:80,227,194;--color-secondary:#2d8cff;--color-danger:#ff8080;--color-success:#10b981;--bg-body:#0f1419;--bg-gradient-end:#1a1f2e;--bg-surface:rgba(26,31,37,.66);--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-muted:#69717d;--border-color:rgba(80,227,194,.15);--border-hover:rgba(80,227,194,.32);--border-light:rgba(255,255,255,.07);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-md:0 4px 16px rgba(0,0,0,.2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text-primary);background:linear-gradient(135deg,var(--bg-body),var(--bg-gradient-end));font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.topnav{height:60px;padding:0 1.2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;background:#0f1419e0;border-bottom:1px solid var(--border-color);box-shadow:0 5px 20px #0000001f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topnav-brand,.topnav-user,.topnav-links{display:flex;align-items:center}.topnav-brand{gap:.55rem;transition:.2s ease}.topnav-brand:hover .topnav-logo{transform:scale(1.05)}.topnav-logo{flex:none;filter:drop-shadow(0 0 8px rgba(var(--color-primary-rgb),.4));transition:.2s ease}.topnav-wordmark{font-size:18px;font-weight:700;letter-spacing:-.04em;line-height:1}.topnav-brand-name{background:linear-gradient(135deg,var(--color-primary),#fff 58%,var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.topnav-brand-label{margin-left:.3rem;padding-left:.65rem;color:var(--text-secondary);border-left:1px solid var(--border-light);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.topnav-user{gap:1rem}.topnav-email{max-width:240px;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.topnav-links{gap:.25rem}.topnav-control,.language button{border:0;background:transparent;color:var(--text-secondary);padding:.48rem .7rem;border-radius:var(--radius-md)}.topnav-control:hover,.language button:hover{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.language{position:relative}.language-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:100px;padding:4px;background:#151b22;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.language.open .language-menu{display:grid}.language-menu button{text-align:left}.layout{display:flex;min-height:calc(100vh - 60px)}.sidebar{width:224px;flex:0 0 224px;display:flex;flex-direction:column;padding:1.1rem .65rem;border-right:1px solid var(--border-color);background:#0f14198c}.sidebar-section+.sidebar-section{margin-top:1.4rem}.sidebar-bottom{margin-top:auto!important}.sidebar-title{padding:.65rem .75rem .45rem;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:.7rem;margin:2px 0;padding:.7rem .75rem;color:var(--text-secondary);border-left:3px solid transparent;border-radius:0 var(--radius-md) var(--radius-md) 0;transition:.18s ease}.sidebar-link:hover,.sidebar-link.active{color:var(--text-primary);background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.13),transparent);border-left-color:var(--color-primary)}.sidebar-icon{width:18px;color:var(--text-muted);font-size:17px;line-height:1;text-align:center}.sidebar-link.active .sidebar-icon,.sidebar-link:hover .sidebar-icon{color:var(--color-primary)}.main{width:min(1160px,100%);padding:2.35rem 2.5rem 4rem;margin:0 auto}.page-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.7rem}.section-label{color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.1em}.page-title{margin:.35rem 0 .4rem;font-size:30px;letter-spacing:-.035em;line-height:1.2}.page-subtitle,.card-subtitle{margin:0;color:var(--text-secondary);line-height:1.6}.connect-index{color:var(--color-primary);font:700 11px monospace;letter-spacing:.08em}.card{margin-bottom:1.15rem;padding:1.35rem;background:linear-gradient(145deg,#1a1f25c2,#1218209e);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.card-title{margin:0;font-size:16px;letter-spacing:-.01em}.connect-form{display:flex;align-items:end;gap:.7rem}.connect-form label,.provider-card label{display:grid;gap:.35rem;color:var(--text-secondary);font-size:12px}.connect-form input,.connect-form select,.provider-card input{min-height:36px;min-width:180px;color:var(--text-primary);background:#111820;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.45rem .65rem;outline:none}.connect-form select{min-width:170px}.connect-form input:focus,.connect-form select:focus,.provider-card input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.09)}.btn{min-height:36px;padding:.45rem .9rem;color:#0f1419;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-weight:600;transition:.18s ease}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-secondary,.btn-quiet{color:var(--text-primary);background:#ffffff0a;border-color:var(--border-light)}.btn-secondary:hover,.btn-quiet:hover{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);border-color:var(--border-hover)}.btn-danger{color:var(--color-danger);background:#ff808014;border-color:#ff808040}.connection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.2rem 0 1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.search-box{display:flex;align-items:center;gap:.45rem;flex:1;max-width:420px;padding:0 .7rem;color:var(--text-muted);background:#111820;border:1px solid var(--border-light);border-radius:var(--radius-sm)}.search-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.08)}.search-box input{width:100%;min-height:35px;color:var(--text-primary);background:transparent;border:0;outline:0}.filter-tabs{display:flex;gap:.25rem}.filter-tab{padding:.42rem .65rem;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm)}.filter-tab:hover,.filter-tab.active{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);border-color:var(--border-color)}.connect-list,.provider-grid{display:grid;gap:.65rem}.connect-row{display:flex;align-items:center;gap:.9rem;padding:.85rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:#ffffff06;transition:.18s ease}.connect-row:hover{border-color:var(--border-hover);background:#ffffff0a}.connection-icon,.provider-mark{display:grid;place-items:center;flex:none;color:var(--color-primary);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.18),#2d8cff24);font-weight:700}.connection-icon{width:38px;height:38px;border-radius:9px;font-size:12px}.connect-row-main{min-width:0;flex:1}.connection-name{display:flex;align-items:center;gap:.55rem}.connect-row-main strong,.connect-row-main small{display:block}.connect-row-main small{margin-top:.15rem;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-secondary);font-size:11px;font-weight:500}.status-pill i{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.status-pill.status-active{color:#6ee7b7}.status-pill.status-active i{background:var(--color-success)}.status-pill.status-failed{color:var(--color-danger)}.status-pill.status-failed i{background:var(--color-danger)}.provider-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.provider-card{padding:1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:#ffffff06;transition:.18s ease}.provider-card[open],.provider-card:hover{border-color:var(--border-hover);background:#ffffff0a}.provider-card summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.provider-card summary::-webkit-details-marker{display:none}.provider-heading{display:flex;align-items:center;gap:.65rem;min-width:0}.provider-mark{width:34px;height:34px;border-radius:8px;font-size:11px}.provider-heading strong,.provider-heading small{display:block}.provider-heading small{margin-top:.1rem;color:var(--text-muted);font-size:11px;font-weight:400}.provider-chevron{color:var(--text-muted);transition:.18s ease}.provider-card[open] .provider-chevron{color:var(--color-primary);transform:rotate(180deg)}.scope-list{display:flex;flex-wrap:wrap;gap:.3rem;margin:1rem 0 0}.scope-list span{max-width:100%;overflow:hidden;padding:.2rem .42rem;color:var(--text-secondary);background:#ffffff0d;border-radius:3px;font:10px monospace;text-overflow:ellipsis;white-space:nowrap}.provider-card form{display:grid;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.connect-empty{padding:1.8rem;color:var(--text-secondary);text-align:center}.connect-table-wrap{overflow:auto}.connect-table{width:100%;border-collapse:collapse}.connect-table th,.connect-table td{padding:.75rem;border-bottom:1px solid var(--border-light);text-align:left;white-space:nowrap}.connect-table th{color:var(--color-primary);font-size:11px;letter-spacing:.08em}.connect-status{color:var(--color-primary)}.connect-status.failed{color:var(--color-danger)}@media(max-width:700px){.topnav{height:auto;min-height:60px;align-items:flex-start;gap:.3rem;padding:.75rem 1rem}.topnav-email,.topnav-brand-label{display:none}.topnav-links{gap:0}.topnav-control{padding:.45rem .5rem}.layout{display:block}.sidebar{width:100%;padding:.45rem;border-right:0;border-bottom:1px solid var(--border-color)}.sidebar-section+.sidebar-section,.sidebar-bottom{display:none}.sidebar-title{display:none}.sidebar-link{display:inline-flex;padding:.6rem .7rem;border-left:0;border-bottom:2px solid transparent;border-radius:0}.sidebar-link.active{border-bottom-color:var(--color-primary)}.main{padding:1.25rem 1rem 3rem}.page-header,.card-header,.connect-form{display:grid}.page-title{font-size:26px}.connect-form{align-items:stretch}.connect-form input,.connect-form select{min-width:0}.connection-toolbar{display:grid;align-items:stretch}.search-box{max-width:none}.filter-tabs{overflow:auto}.connect-row{align-items:flex-start}.connect-row .btn{align-self:center;padding:.42rem .55rem;font-size:12px}.provider-grid{grid-template-columns:1fr}}.provider-section{margin-top:.9rem}.provider-section-label{display:block;margin-bottom:.4rem;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.operation-list{display:grid;gap:.35rem}.operation-chip{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.35rem .45rem;color:var(--text-secondary);background:#ffffff09;border-radius:var(--radius-sm);font:10px monospace}.operation-chip b{padding:.12rem .25rem;color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);border-radius:3px;font-size:9px}.operation-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-muted)}.project-card{padding:1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:#ffffff06}.project-card-header{display:flex;align-items:center;gap:.75rem}.project-card-header strong,.project-card-header small{display:block}.project-card-header small{margin-top:.15rem;color:var(--text-secondary)}.policy-details{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--border-light)}.policy-details summary{display:flex;justify-content:space-between;cursor:pointer;color:var(--color-primary);font-weight:600}.policy-details summary span{color:var(--text-muted);font-size:11px;font-weight:400}.policy-list{display:grid;gap:.35rem;margin-top:.7rem}.policy-row{border-radius:var(--radius-sm)}.policy-row:hover{background:#ffffff09}.policy-row label{display:flex;align-items:center;gap:.55rem;padding:.45rem;cursor:pointer}.policy-row input[type=checkbox]{accent-color:var(--color-primary)}.policy-row strong,.policy-row small{display:block}.policy-row strong{color:var(--text-primary);font:11px monospace}.policy-row small{color:var(--text-muted);font-size:10px}.connection-actions{display:flex;align-items:center;gap:.35rem;flex:none}
