:root{--ngc-bg:#0b0f14;--ngc-surface:#13171f;--ngc-surface-2:#1a2030;--ngc-border:rgba(148,163,184,0.12);--ngc-text:#e6edf3;--ngc-muted:#94a3b8;--ngc-accent:#34d399;--ngc-accent-dark:#059669;--ngc-accent-fg:#042f2e;--ngc-glow:rgba(52,211,153,0.22);--ngc-radius:12px;--ngc-radius-pill:999px;--pico-font-size:118%;--pico-line-height:1.65;--pico-border-radius:8px;--pico-background-color:var(--ngc-bg);--pico-color:var(--ngc-text);--pico-muted-color:var(--ngc-muted);--pico-muted-border-color:var(--ngc-border);--pico-card-background-color:var(--ngc-surface);--pico-card-sectioning-background-color:rgba(255,255,255,0.02);--pico-primary:var(--ngc-accent);--pico-primary-background:var(--ngc-accent);--pico-primary-border:var(--ngc-accent);--pico-primary-underline:rgba(52,211,153,0.35);--pico-primary-hover:#6ee7b7;--pico-primary-focus:rgba(52,211,153,0.35);--pico-primary-inverse:var(--ngc-accent-fg);--pico-secondary:var(--ngc-muted);--pico-secondary-hover:var(--ngc-text);--pico-form-element-background-color:rgba(15,20,28,0.85);--pico-form-element-border-color:var(--ngc-border);--pico-form-element-active-border-color:rgba(52,211,153,0.4);--pico-table-border-color:var(--ngc-border);--pico-table-row-stripped-background-color:rgba(255,255,255,0.02);--ngc-flash-error-bg:rgba(185,28,28,0.22);--ngc-flash-error-fg:#fecaca;--ngc-flash-ok-bg:rgba(6,95,70,0.28);--ngc-flash-ok-fg:#a7f3d0;--ngc-banner-warn-bg:rgba(180,83,9,0.22);--ngc-banner-warn-border:rgba(251,191,36,0.35);--ngc-banner-ok-bg:rgba(6,95,70,0.22);--ngc-banner-ok-border:rgba(52,211,153,0.35)}html{font-size:17px}html,body{background-color:var(--ngc-bg);color:var(--ngc-text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.ngc-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 50% 0%,var(--ngc-glow),transparent 60%),var(--ngc-bg)}body>nav,body>main,body>footer{position:relative;z-index:1}nav.app-nav{background:rgba(19,23,31,0.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--ngc-border);padding:0.85rem 1.5rem;font-size:1.05rem}nav.app-nav strong{color:var(--ngc-accent);font-weight:700;letter-spacing:0.04em}nav.app-nav a{color:var(--ngc-muted);text-decoration:none}nav.app-nav a:hover{color:var(--ngc-text)}nav.app-nav a.active{color:var(--ngc-accent);font-weight:600;text-decoration:none}nav.app-nav .role{color:var(--ngc-muted);font-size:0.9em}body>main{padding:1.5rem 1.25rem 2.5rem;max-width:80rem;margin-left:auto;margin-right:auto;font-size:1.05rem}h1{font-size:2rem;font-weight:700;letter-spacing:-0.02em}h2{font-size:1.65rem;margin-bottom:1rem;font-weight:700}h3{font-size:1.3rem;font-weight:600}button,[role="button"],input[type="submit"]{font-size:1.02rem;padding:0.7rem 1.2rem;min-height:2.75rem;border-radius:var(--ngc-radius-pill);font-weight:600;transition:transform 0.15s,box-shadow 0.2s,opacity 0.15s}button:not(.outline):not(.secondary):not(.contrast),[role="button"]:not(.outline):not(.secondary):not(.contrast),input[type="submit"]:not(.outline){background:linear-gradient(135deg,var(--ngc-accent),var(--ngc-accent-dark));border-color:transparent;color:var(--ngc-accent-fg);box-shadow:0 2px 16px var(--ngc-glow)}button:not(.outline):not(.secondary):not(.contrast):hover,[role="button"]:not(.outline):not(.secondary):not(.contrast):hover{transform:translateY(-1px);box-shadow:0 4px 24px var(--ngc-glow)}button.secondary,[role="button"].secondary{background:transparent;border:1px solid var(--ngc-border);color:var(--ngc-text);box-shadow:none}button.outline,[role="button"].outline{box-shadow:none}article,.card-like{background:var(--ngc-surface);border:1px solid var(--ngc-border);border-radius:var(--ngc-radius);box-shadow:none}article header{border-bottom-color:var(--ngc-border)}input:not([type="checkbox"]):not([type="radio"]),select,textarea{border-radius:8px;font-size:1.05rem;min-height:2.75rem;padding:0.55rem 0.85rem}label{font-size:1.02rem;margin-bottom:0.35rem}input:focus,select:focus,textarea:focus{border-color:rgba(52,211,153,0.45);box-shadow:0 0 0 2px rgba(52,211,153,0.12)}a{color:var(--ngc-accent)}a:hover{color:#6ee7b7}body.guest-layout>main{max-width:none;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}body.guest-layout>main .auth-card{width:100%;max-width:26rem;margin:0;text-align:center;padding:2rem 1.75rem}body.guest-layout>main .auth-card form{text-align:left;margin-top:1.25rem}body.guest-layout>main .auth-card h2,body.guest-layout>main .auth-card hgroup{text-align:center}body.guest-layout>main .auth-card hgroup p{color:var(--ngc-muted);margin-bottom:0}body.guest-layout .flash{width:100%;max-width:26rem}body.guest-layout .auth-links{text-align:center;margin-top:1rem;font-size:0.9rem}body.guest-layout .auth-links a{color:var(--ngc-muted);text-decoration:none;border-bottom:1px solid transparent}body.guest-layout .auth-links a:hover{color:var(--ngc-text);border-color:rgba(148,163,184,0.35)}.ngc-logo{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:10px;background:linear-gradient(135deg,var(--ngc-accent),var(--ngc-accent-dark));font-weight:800;font-size:0.8rem;letter-spacing:0.06em;color:var(--ngc-accent-fg);box-shadow:0 0 32px var(--ngc-glow)}.ngc-logo--lg{width:3.5rem;height:3.5rem;font-size:0.85rem;border-radius:12px;margin-bottom:1.25rem}.ngc-tag{font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ngc-accent);margin:0.75rem 0 0}body.landing-layout>main{justify-content:center;text-align:center;padding:3rem 1.5rem}.landing-hero{max-width:36rem}.landing-hero h1{font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.2;margin-bottom:1rem}.landing-hero h1 em{font-style:normal;color:var(--ngc-accent)}.landing-hero .lead{font-size:1.05rem;line-height:1.6;color:var(--ngc-muted);max-width:26rem;margin:0 auto}.landing-actions{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.landing-actions .btn-landing{display:inline-block;padding:0.9rem 2.25rem;border-radius:var(--ngc-radius-pill);background:linear-gradient(135deg,var(--ngc-accent),var(--ngc-accent-dark));color:var(--ngc-accent-fg);font-size:1rem;font-weight:700;text-decoration:none;box-shadow:0 4px 28px var(--ngc-glow);transition:transform 0.15s,box-shadow 0.2s}.landing-actions .btn-landing:hover{transform:translateY(-2px);box-shadow:0 8px 36px var(--ngc-glow);color:var(--ngc-accent-fg)}.site-footer{text-align:center;padding:1.5rem;font-size:0.78rem;color:var(--ngc-muted);opacity:0.7;border-top:1px solid var(--ngc-border)}.flash{padding:1rem 1.25rem;margin-bottom:1rem;border-radius:var(--pico-border-radius);border:1px solid transparent;font-size:1.05rem}.pay-hint{font-size:1rem;line-height:1.55}small{font-size:0.92em}.flash.error{background:var(--ngc-flash-error-bg);color:var(--ngc-flash-error-fg);border-color:rgba(248,113,113,0.35)}.flash.ok{background:var(--ngc-flash-ok-bg);color:var(--ngc-flash-ok-fg);border-color:rgba(52,211,153,0.35)}.banner-warn{background:var(--ngc-banner-warn-bg);border:1px solid var(--ngc-banner-warn-border);border-radius:var(--pico-border-radius);padding:1rem 1.15rem}.banner-ok{background:var(--ngc-banner-ok-bg);border:1px solid var(--ngc-banner-ok-border);border-radius:var(--pico-border-radius);padding:1rem 1.15rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-head h2{margin:0}.empty-state{color:var(--ngc-muted);margin:2rem 0}.muted-hint{color:var(--ngc-muted);font-size:0.85rem}table.servers-table{width:100%;border-collapse:collapse}table.servers-table th,table.servers-table td{padding:0.9rem 1rem;font-size:1.02rem;border-bottom:1px solid var(--ngc-border);text-align:left;vertical-align:top}table.servers-table thead th{color:var(--ngc-muted);font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em}table.servers-table tbody tr:hover{background:rgba(255,255,255,0.02)}.verify-step pre{background:var(--ngc-surface);border:1px solid var(--ngc-border);border-radius:var(--ngc-radius);padding:1rem;overflow-x:auto}table.compact th,table.compact td{padding:0.7rem 0.9rem;font-size:1.02rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.92em}.pill{display:inline-block;padding:4px 12px;border-radius:var(--ngc-radius-pill);font-size:0.95em;font-weight:500}.pill.active{background:rgba(6,95,70,0.35);color:#6ee7b7}.pill.pending{background:rgba(180,83,9,0.35);color:#fcd34d}.pill.revoked{background:rgba(185,28,28,0.35);color:#fca5a5}.pill.expired{background:rgba(75,85,99,0.45);color:#d1d5db}.actions{display:flex;gap:0.65rem;align-items:center;flex-wrap:wrap}.right{float:right}form.inline{display:inline}.pay-page{max-width:32rem;margin:0 auto}.pay-page h2{text-align:center}.pay-card{text-align:center;margin:0 auto 1.5rem;padding:1.25rem 1.35rem}.pay-card .pay-price{font-size:1.35rem;font-weight:600;margin:0.5rem 0 1rem}.pay-card button,.pay-card [role="button"]{width:100%;font-size:1.05rem;padding:0.85rem 1rem}.pay-card small,.pay-hint{color:var(--ngc-muted);font-size:0.95rem;line-height:1.5}.pay-qr-wrap{text-align:center;max-width:100%;margin:0 auto 1.5rem}.pay-qr-wrap img{border-radius:var(--pico-border-radius);background:#fff;padding:14px;width:min(100%,320px);height:auto;aspect-ratio:1;box-shadow:0 0 0 1px rgba(255,255,255,0.12)}.pay-amount{font-size:2rem;font-weight:700;margin:0.75rem 0;letter-spacing:0.02em}.pay-wait{color:var(--ngc-muted);font-size:1.05rem}.pay-qr-actions{display:flex;gap:0.65rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.pay-qr-actions button{width:auto;min-width:9rem}.pay-divider{text-align:center;color:var(--ngc-muted);margin:1rem 0;font-size:1rem}.pay-back{text-align:center;margin-top:1.5rem;font-size:1.05rem}#app-content{transition:opacity 0.16s ease-in}#app-content.htmx-swapping{opacity:0.4}