:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201d;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;background:#edf0ec;padding:.25rem .45rem;color:#3f4a45;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;border-bottom:1px solid #dfe5dd;background:#fafbf9eb;padding:.75rem 1rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:.65rem;border:0;background:transparent;color:inherit;padding:0}.brand-mark,.panel-icon,.row-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:8px;background:#17201d;color:#f7faf5}.brand-mark{width:38px;height:38px}.panel-icon{width:44px;height:44px;background:#245a52}.row-icon{width:32px;height:32px;background:#e1efe9;color:#245a52}.brand-copy{display:grid;text-align:left;line-height:1.05}.brand-copy span{font-weight:720}.brand-copy small{margin-top:.15rem;color:#6b746f;font-size:.72rem;letter-spacing:0}.topbar-actions{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.identity-pill{display:inline-flex;align-items:center;min-width:0;max-width:min(52vw,360px);gap:.4rem;border:1px solid #d8dfd5;border-radius:999px;background:#fff;padding:.45rem .7rem;color:#3f4a45;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{width:100%;max-width:1440px;margin:0 auto;padding:1rem}.connect-panel,.state-panel{display:grid;gap:1rem;width:min(100%,520px);margin:clamp(2rem,12vh,7rem) auto;border:1px solid #dfe5dd;border-radius:8px;background:#fff;padding:1.25rem;box-shadow:0 12px 40px #17201d14}.connect-title{display:flex;align-items:center;gap:.9rem;min-width:0}.target-owner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;border:1px solid #d8dfd5;border-radius:8px;background:#fbfcfa;padding:.65rem;min-width:0;color:#49534e;font-size:.82rem;font-weight:650}h1,p{margin:0}.connect-title h1,.state-panel h1,.network-header h1{font-size:1.35rem;line-height:1.2;letter-spacing:0}.connect-title p,.state-panel p,.network-header p{margin-top:.25rem;color:#68736d;line-height:1.45}.dashboard-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;align-items:start}.sidebar,.main-panel{border:1px solid #dfe5dd;border-radius:8px;background:#fff}.sidebar{position:sticky;top:80px;display:grid;gap:1rem;padding:.9rem}.main-panel{display:grid;gap:1rem;padding:1rem;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#303a35;font-size:.82rem;font-weight:720;text-transform:uppercase}.section-heading small{color:#6b746f;font-size:.78rem}.network-list,.stack{display:grid;gap:.5rem}.network-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:.55rem;align-items:center;width:100%;border:1px solid transparent;border-radius:8px;background:transparent;padding:.65rem;color:#303a35;text-align:left}.network-row:hover,.network-row.active{border-color:#c8d8d1;background:#eef6f2}.network-row span,.row-main span{min-width:0}.network-row strong,.row-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-row small,.row-main small{display:block;margin-top:.15rem;overflow:hidden;color:#6b746f;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.create-box{display:grid;gap:.65rem;border-top:1px solid #edf0ec;padding-top:.9rem}label{display:grid;gap:.3rem;color:#49534e;font-size:.82rem;font-weight:650}input,select{width:100%;border:1px solid #d5ddd2;border-radius:7px;background:#fbfcfa;color:#17201d;padding:.58rem .65rem}input:focus,select:focus{border-color:#4c8f7e;outline:3px solid rgba(76,143,126,.16)}.network-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #edf0ec;padding-bottom:1rem}.header-buttons,.row-actions{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:8px;min-height:38px;border:1px solid transparent;font-weight:680}.primary-button{background:#245a52;color:#fff;padding:.58rem .85rem}.secondary-button{border-color:#d5ddd2;background:#fff;color:#25302b;padding:.55rem .78rem}.icon-button{width:38px;height:38px;border-color:#d5ddd2;background:#fff;color:#25302b}.icon-button.small{width:31px;height:31px;min-height:31px;border-radius:7px}.icon-button.success{border-color:#bfdccb;color:#1f7a49}.icon-button.danger{border-color:#edd2d2;color:#9b2f2f}.primary-button:hover,.secondary-button:hover,.icon-button:hover{filter:brightness(.98)}.content-section{display:grid;gap:.65rem;min-width:0}.invite-composer{display:grid;gap:.7rem;border-bottom:1px solid #edf0ec;padding-bottom:1rem;min-width:0}.invite-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,180px) minmax(110px,auto) auto;align-items:end;gap:.65rem;min-width:0}.inline-control{display:flex;justify-content:flex-end;min-width:0}.inline-control label{width:min(220px,100%)}.toggle-field{display:inline-flex;align-items:center;min-height:38px;gap:.45rem;padding-bottom:.08rem}.toggle-field input{width:17px;height:17px;accent-color:#245a52}.data-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr) auto;align-items:center;gap:.75rem;border:1px solid #e3e9e1;border-radius:8px;padding:.65rem;min-width:0}.row-main{display:flex;align-items:center;gap:.65rem;min-width:0}.node-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem}.node-card{display:grid;gap:.75rem;border:1px solid #e3e9e1;border-radius:8px;padding:.75rem;min-width:0}.node-card.expiring{border-color:#d8b25d;background:#fffdf6}.node-card.expired{border-color:#d36b61;background:#fff8f7}.node-card-header{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:.6rem}.node-card-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl{display:grid;gap:.45rem;margin:0}dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.5rem}dt{color:#6b746f;font-size:.78rem}dd{min-width:0;margin:0;overflow:hidden;color:#303a35;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.expiry-editor{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:.5rem;align-items:center;min-width:0}.label-editor{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:.5rem;align-items:end;min-width:0}.invite-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid #c8d8d1;border-radius:8px;background:#eef6f2;padding:.75rem;min-width:0}.invite-result strong{display:block;margin-bottom:.35rem}.invite-result code{display:block}.empty-row,.muted-row{display:flex;align-items:center;gap:.5rem;border:1px dashed #d9e1d6;border-radius:8px;padding:.85rem;color:#6b746f}.error-banner{border:1px solid #efcaca;border-radius:8px;background:#fff4f4;color:#8d2c2c;padding:.75rem;overflow-wrap:anywhere}.state-panel{justify-items:start}.state-panel p{overflow-wrap:anywhere}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){.workspace{padding:.75rem}.dashboard-grid{grid-template-columns:1fr}.sidebar{position:static}.network-header{display:grid}.header-buttons{width:100%;justify-content:stretch}.header-buttons>button{flex:1 1 auto}.invite-fields{grid-template-columns:minmax(0,1fr) minmax(130px,.65fr)}.invite-fields .primary-button{grid-column:1 / -1}.data-row{grid-template-columns:minmax(0,1fr) auto}.data-row>code{grid-column:1 / -1}}@media(max-width:560px){.identity-pill{max-width:44vw}.connect-title{align-items:flex-start}.data-row,.invite-fields{grid-template-columns:minmax(0,1fr)}.row-actions{justify-content:flex-end}}
