:root{--color-bg-primary:#0a0a0a;--color-bg-secondary:#0f0f0f;--color-bg-tertiary:#141414;--color-bg-card:#1a1a1a;--color-accent:#00d9ff;--color-accent-dark:#00b8cc;--color-accent-light:#33e0ff;--color-accent-rgb:0, 217, 255;--color-text-primary:#fff;--color-text-secondary:#b0b0b0;--color-text-muted:#666;--color-border:#2a2a2a;--color-border-light:#333;--color-success:#4ade80;--color-warning:#fbbf24;--color-error:#f87171;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-shadow:0 8px 32px #0000004d;--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Playfair Display", Georgia, serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 15%, rgba(var(--color-accent-rgb), .06), transparent 40%), radial-gradient(circle at 85% 30%, rgba(var(--color-accent-rgb), .04), transparent 45%);background-attachment:fixed;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input{font-family:inherit}::selection{background:rgba(var(--color-accent-rgb), .3);color:#fff}.app{max-width:1080px;margin:0 auto;padding:clamp(1.5rem,4vw,4rem) clamp(1rem,4vw,2rem)}.header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2.5rem;display:flex}.header__titles h1{font-family:var(--font-heading);letter-spacing:-.02em;font-size:clamp(1.8rem,5vw,3rem);font-weight:700;line-height:1.1}.header__titles .accent{color:var(--color-accent)}.header__titles p{color:var(--color-text-secondary);margin-top:.35rem;font-size:.95rem}.btn{border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--glass-bg);color:var(--color-text-primary);align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:500;transition:all .18s;display:inline-flex}.btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn--accent{background:var(--color-accent);border-color:var(--color-accent);color:#001318;font-weight:600}.btn--accent:hover{background:var(--color-accent-light);border-color:var(--color-accent-light);color:#001318}.btn--ghost{background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.search{margin-bottom:2rem;position:relative}.search input{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);padding:.9rem 1rem .9rem 2.9rem;font-size:1rem;transition:border-color .18s,box-shadow .18s}.search input::placeholder{color:var(--color-text-muted)}.search input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb), .15);outline:none}.search__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;display:grid}.card{border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--color-bg-card);min-height:150px;box-shadow:var(--glass-shadow);flex-direction:column;gap:.6rem;padding:1.3rem;transition:transform .18s,border-color .18s;display:flex;position:relative}.card:hover{border-color:rgba(var(--color-accent-rgb), .4);transform:translateY(-3px)}.card__name{font-size:1.15rem;font-weight:600}.card__url{font-family:var(--font-mono);color:var(--color-accent);word-break:break-all;font-size:.8rem}.card__footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.72rem;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge--online{color:var(--color-success);background:#4ade801a}.badge--provisioning{color:var(--color-warning);background:#fbbf241a}.badge--error{color:var(--color-error);background:#f871711a}.card--new{text-align:center;color:var(--color-text-secondary);border:1.5px dashed var(--color-border-light);cursor:pointer;background:0 0;justify-content:center;align-items:center}.card--new:hover{border-color:var(--color-accent);color:var(--color-accent)}.card--new .plus{font-size:2.4rem;font-weight:300;line-height:1}.state{text-align:center;color:var(--color-text-muted);padding:4rem 1rem}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);width:100%;max-width:400px;box-shadow:var(--glass-shadow);padding:1.8rem}.modal h2{font-family:var(--font-heading);margin-bottom:.4rem;font-size:1.5rem}.modal p.sub{color:var(--color-text-secondary);margin-bottom:1.3rem;font-size:.9rem}.field{margin-bottom:1rem}.field label{color:var(--color-text-secondary);margin-bottom:.4rem;font-size:.82rem;display:block}.field input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-tertiary);width:100%;color:var(--color-text-primary);padding:.75rem .9rem;font-size:.95rem}.field input:focus{border-color:var(--color-accent);outline:none}.field .hint{color:var(--color-text-muted);font-size:.78rem;font-family:var(--font-mono);margin-top:.4rem}.modal__actions{justify-content:flex-end;gap:.6rem;margin-top:1.4rem;display:flex}.error-msg{color:var(--color-error);min-height:1.2em;margin-top:.6rem;font-size:.85rem}.spinner{border:2px solid #fff3;border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.footer-note{text-align:center;color:var(--color-text-muted);margin-top:3rem;font-size:.8rem}
