/* Original SRP Mesh visual system, adapted to the current panel controls. */
:root{color-scheme:light;--ink:#111827;--muted:#6b7280;--accent:#2563eb;--line:#e5e7eb;--paper:#f9fafb;--white:#fff;--hover:#f3f4f6;--soft:#eff6ff;--field:#fff}
:root.dark{color-scheme:dark;--ink:#f9fafb;--muted:#9ca3af;--accent:#60a5fa;--line:#374151;--paper:#111827;--white:#1f2937;--hover:#374151;--soft:#1e3a5f;--field:#374151}
*{box-sizing:border-box}body{margin:0;font:14px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:9px 16px;background:var(--white);color:var(--ink);cursor:pointer;font-weight:500}button:hover{background:var(--hover)}button:disabled{opacity:.6;cursor:wait}button.primary{background:linear-gradient(90deg,#2563eb,#4f46e5);color:white;border-color:transparent;box-shadow:0 1px 2px #0000000d}button.primary:hover{background:linear-gradient(90deg,#1d4ed8,#4338ca)}button.quiet{background:transparent;border-color:transparent;color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.25;font-weight:700}h2{font-size:18px;margin-bottom:12px}h3{font-size:15px}p+p{margin-top:12px}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--white);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;overflow:auto}.brand{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;text-decoration:none;border-bottom:1px solid var(--line)}.brand img{object-fit:contain;filter:drop-shadow(0 0 18px #3b82f633)}.brand-copy{text-align:center}.brand strong{font-size:20px;background:linear-gradient(90deg,#2563eb,#4f46e5);background-clip:text;color:transparent}.brand small{display:block;font-size:12px;margin-top:4px}.logo-dark{display:none}.dark .logo-light{display:none}.dark .logo-dark{display:block}.dark .brand strong{background-image:linear-gradient(90deg,#60a5fa,#818cf8)}nav{display:grid;gap:4px;padding:16px}nav button{display:flex;align-items:center;gap:12px;background:transparent;border:0;color:var(--ink);text-align:left;min-height:48px;padding:12px 16px}nav button[aria-current]{background:linear-gradient(90deg,var(--soft),#818cf815);color:var(--accent);box-shadow:0 1px 2px #0000000d}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;font-size:22px}.nav-icon svg{width:20px;height:20px}.sidebar-foot{border-top:1px solid var(--line);margin-top:auto;padding:24px;color:var(--muted);font-size:12px}.sidebar-foot small{display:block;margin-top:4px}main{padding:0 32px;min-width:0;width:100%;max-width:1660px;margin:0 auto}.topbar{min-height:64px;margin:0 -32px;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:20;font-size:13px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.icon-button{padding:8px;width:40px;min-width:40px;font-size:20px;border-color:transparent;background:transparent;line-height:1}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:32px 0}.heading .muted{margin-top:8px}.eyebrow{display:none}.card{padding:24px;background:var(--white);border:1px solid var(--line);border-radius:12px;min-width:0;box-shadow:0 1px 2px #0000000d}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}.stats strong{font-size:30px;line-height:1.5;display:block;margin:8px 0;color:var(--ink);font-variant-numeric:tabular-nums}.stats small{display:block;font-size:12px}.stats .card>span{font-size:14px;color:var(--muted);font-weight:500}.two-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dark-card{background:var(--white);color:var(--ink)}.dark-card p{color:var(--muted);margin:16px 0 24px}.tag{display:inline-block;color:var(--accent);background:var(--soft);border-radius:6px;padding:4px 8px;font-size:12px;margin-bottom:16px}.node-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.node-row:last-child{border-bottom:0}.node-row small{display:block}.node-row>div{overflow-wrap:anywhere;min-width:0}.badge{font-size:12px;font-weight:500;border-radius:99px;padding:3px 9px;display:inline-block;background:var(--hover);color:var(--muted);white-space:nowrap}.badge.good{background:#dcfce7;color:#166534}.badge.pending{background:#fef3c7;color:#854d0e}.badge.bad{background:#fee2e2;color:#991b1b}.dark .badge.good{background:#14532d;color:#bbf7d0}.dark .badge.pending{background:#713f12;color:#fef08a}.dark .badge.bad{background:#7f1d1d;color:#fecaca}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px}.filters input{flex:1;min-width:150px}.table-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}.server-table{width:100%;border-collapse:collapse;font-size:14px;min-width:740px}.server-table th{text-align:left;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--paper);padding:12px 20px;white-space:nowrap}.server-table td{padding:16px 20px;border-top:1px solid var(--line);vertical-align:top}.server-table tr:hover{background:var(--paper)}.server-table code{display:block;font-size:12px;color:var(--muted)}.server-table td:first-child code{font-size:10px;max-width:165px;overflow-wrap:anywhere;margin-top:6px}.server-table td:nth-child(2) code{color:var(--accent);white-space:nowrap}.server-table .node-actions{min-width:205px}.node-actions button{font-size:12px;padding:6px 10px}.node-actions summary{font-size:12px}.node-actions .trust-form{min-width:210px;max-width:300px}.engine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.engine-grid p{margin-bottom:18px}.login-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;min-height:calc(100dvh - 160px);padding:32px 0}.intro{text-align:center}.intro h1{font-size:48px;line-height:1.2;font-weight:700;background:linear-gradient(90deg,#2563eb,#4f46e5);background-clip:text;color:transparent;margin-bottom:8px}.dark .intro h1{background-image:linear-gradient(90deg,#60a5fa,#818cf8)}.intro p{font-size:18px;color:var(--muted)}.login-card{max-width:448px;width:100%;border-radius:16px;padding:40px;box-shadow:0 20px 25px -5px #00000012,0 8px 10px -6px #00000012}.login-card h2{font-size:24px}.login-card label{display:block;margin-top:20px;font-weight:600}.login-card input{width:100%;margin-top:8px}.login-card button{width:100%;margin-top:26px}.error{color:#dc2626;font-size:13px;overflow-wrap:anywhere}.dark .error{color:#fca5a5}input,select,textarea{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--field);color:var(--ink);max-width:100%;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.form-grid label{display:grid;gap:8px;font-weight:500}.inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.inline-form input{flex:1}.operation-actions{margin-top:24px}.operation-actions+p{margin-top:16px;font-size:12px}details.card{margin-top:24px}summary{cursor:pointer;min-height:40px;padding-block:8px;font-weight:500}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px;max-height:480px;overflow:auto;text-align:left}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:18px}.result-grid dt{font-size:12px;color:var(--muted)}.result-grid dd{margin:0;overflow-wrap:anywhere}#notice{padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);margin-top:20px}#notice.error{border-color:#f87171;color:#dc2626}.dark #notice.error{color:#fca5a5}section[data-view=meshes]>.card{margin-bottom:24px}footer{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:24px 0;margin-top:24px}.skip{position:absolute;top:-100px;z-index:100;background:var(--white);padding:10px}.skip:focus{top:10px}.trust-form{display:grid;gap:12px}.trust-form label{display:grid;gap:6px}.trust-form textarea{width:100%;resize:vertical}.trust-form p{font-size:12px}#draft-members{border:1px solid var(--line);border-radius:8px;padding:14px}#member-options{display:grid;gap:10px}#member-options label{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}#member-options input{min-height:24px;min-width:24px}#deployment-id{display:block;width:100%;margin-top:10px}.wide{grid-column:1/-1}#awg-settings{min-width:0;border:1px solid var(--line);border-radius:8px;padding:18px}.checkbox{display:flex!important;align-items:center;gap:12px!important}.checkbox input{min-height:24px;min-width:24px}#drawer-close,#drawer-backdrop{display:none}body:not(.signed-in){background:linear-gradient(135deg,#f8fafc,#eff6ff,#eef2ff)}.dark body:not(.signed-in){background:linear-gradient(135deg,#111827,#1f2937,#111827)}body:not(.signed-in) .shell{grid-template-columns:minmax(0,1fr)}body:not(.signed-in) .sidebar,body:not(.signed-in) #sidebar-toggle,body:not(.signed-in) #page-name,body:not(.signed-in) #identity{display:none}body:not(.signed-in) .topbar{background:transparent;border:0;position:static;justify-content:flex-end}body:not(.signed-in) footer{justify-content:center;gap:24px}
@media(min-width:1024px){.sidebar-collapsed.signed-in .shell{grid-template-columns:64px minmax(0,1fr)}.sidebar-collapsed .brand{padding:16px 8px}.sidebar-collapsed .brand img{width:32px;height:32px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-text,.sidebar-collapsed .sidebar-foot{display:none}.sidebar-collapsed nav{padding:8px}.sidebar-collapsed nav button{padding:12px;justify-content:center}}
@media(max-width:1200px){.two-cols{grid-template-columns:1fr}.engine-grid{grid-template-columns:1fr}}
@media(max-width:1023px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;width:256px;z-index:50;transform:translateX(-100%)}.drawer-open .sidebar{transform:translateX(0)}.drawer-open{overflow:hidden}#drawer-close{display:block;align-self:flex-end;margin:8px}#drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;border:0;border-radius:0;background:#0008;z-index:40;width:100%;height:100%}main{padding:0 24px}.topbar{margin:0 -24px;padding:8px 16px}.brand{padding-top:0}}
@media(max-width:640px){main{padding:0 16px}.topbar{margin:0 -16px;padding:8px;gap:4px}.topbar .actions{gap:4px}#identity{display:none}#page-name{font-size:12px}.heading{align-items:start;flex-direction:column;margin:24px 0;gap:16px}h1{font-size:26px}.card{padding:20px}.stats{grid-template-columns:1fr;gap:12px}.stats .card{display:grid;grid-template-columns:1fr auto;align-items:center}.stats strong{grid-column:2;grid-row:1/3;margin:0}.form-grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr}.inline-form{display:grid;grid-template-columns:1fr}.section-head{flex-wrap:wrap}.node-row{flex-wrap:wrap}.operation-actions button{flex:1 1 140px}.login-card{padding:28px}.intro h1{font-size:40px}footer{gap:16px;flex-wrap:wrap}input,select,textarea{font-size:16px}.server-table th,.server-table td{padding:12px}.table-scroll{margin-inline:-8px}.actions button{min-height:44px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,color .15s}.sidebar{transition:transform .2s ease}}
