@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--zinc-950: #09090b;--zinc-900: #18181b;--zinc-800: #27272a;--zinc-700: #3f3f46;--zinc-600: #52525b;--zinc-500: #71717a;--zinc-400: #a1a1aa;--zinc-300: #d4d4d8;--zinc-200: #e4e4e7;--zinc-100: #f4f4f5;--zinc-50: #fafafa;--emerald-600: #059669;--emerald-500: #10b981;--emerald-400: #34d399;--emerald-300: #6ee7b7;--red-400: #f87171;--red-500: #ef4444;--amber-400: #fbbf24;--amber-500: #f59e0b;--blue-400: #60a5fa;--color-bg: var(--zinc-950);--color-surface: var(--zinc-900);--color-border: var(--zinc-800);--color-text: var(--zinc-50);--color-muted: var(--zinc-400);--color-accent: var(--emerald-500);--font: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", "Instrument Sans", sans-serif;--font-heading: "Instrument Sans", sans-serif;--font-mono: "Fira Code", "Cascadia Code", "SF Mono", ui-monospace, monospace;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-full: 9999px;--sidebar-width: 248px}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:14px;line-height:1.5;min-height:100vh}a{text-decoration:none;color:inherit}.noise-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.3}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.shimmer-btn{position:relative;overflow:hidden}.shimmer-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.09) 50%,transparent 100%);animation:shimmer 3s ease-in-out infinite;will-change:transform}@keyframes draw-line{to{stroke-dashoffset:0}}.draw-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw-line 2s ease-out forwards}@keyframes border-beam{0%{offset-distance:0%}to{offset-distance:100%}}.border-beam{animation:border-beam 8s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 30s linear infinite;will-change:transform}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-up .5s cubic-bezier(.22,1,.36,1) both}.fade-in-up-1{animation-delay:.05s}.fade-in-up-2{animation-delay:.1s}.fade-in-up-3{animation-delay:.15s}.fade-in-up-4{animation-delay:.2s}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;background:#18181bb3;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-right:1px solid rgba(39,39,42,.8);z-index:100;overflow:hidden}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:radial-gradient(ellipse at 50% 0%,rgba(16,185,129,.06) 0%,transparent 70%);pointer-events:none}.sidebar-header{padding:1.25rem 1rem .875rem;border-bottom:1px solid rgba(39,39,42,.6);position:relative}.brand{display:inline-flex;align-items:center;gap:.625rem;margin-bottom:.75rem;text-decoration:none}.brand-text{font-family:var(--font-display);font-weight:700;font-size:.9375rem;color:var(--zinc-50);letter-spacing:-.02em}.sidebar-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .625rem;background:#10b98114;border:1px solid rgba(16,185,129,.15);border-radius:var(--radius-full);font-size:.6875rem;color:var(--emerald-400)}.sidebar-badge .dot{width:5px;height:5px;border-radius:50%;background:var(--emerald-500);flex-shrink:0}.sidebar-nav{flex:1;padding:.625rem;overflow-y:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;color:var(--zinc-400);cursor:pointer;transition:background .15s,color .15s;position:relative;text-decoration:none;margin-bottom:1px}.nav-item svg{width:15px;height:15px;stroke-width:1.75;flex-shrink:0;transition:color .15s}.nav-item:hover{background:#27272ab3;color:var(--zinc-100)}.nav-item.active{background:#10b9811a;color:var(--zinc-50);border:1px solid rgba(16,185,129,.15)}.nav-item.active svg{color:var(--emerald-400)}.nav-separator{height:1px;background:var(--zinc-800);margin:.625rem .75rem}.sidebar-section-label{display:block;padding:.25rem .75rem;font-size:.6875rem;font-weight:600;color:var(--zinc-600);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.sidebar-footer{padding:.875rem;border-top:1px solid rgba(39,39,42,.6);display:flex;flex-direction:column;gap:.625rem}.user-row{display:flex;align-items:center;gap:.5rem;padding:.375rem .25rem}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#10b9814d,#10b9811a);border:1px solid rgba(16,185,129,.2);display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:var(--emerald-400);flex-shrink:0}.user-email{font-size:.75rem;color:var(--zinc-400);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .4rem;border-radius:var(--radius-full);flex-shrink:0}.user-role-badge.admin{background:#fbbf241a;color:var(--amber-400);border:1px solid rgba(251,191,36,.2)}.user-role-badge.user{background:#71717a26;color:var(--zinc-500);border:1px solid var(--zinc-800)}.main-wrapper{margin-left:var(--sidebar-width);flex:1;min-width:0;display:flex;flex-direction:column}main{flex:1;padding:2rem 2rem 3rem;max-width:1080px;width:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.page-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--zinc-50);letter-spacing:-.03em;margin-bottom:.2rem}.page-subtitle{font-size:.8125rem;color:var(--zinc-500)}.back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:var(--zinc-400);text-decoration:none;margin-bottom:1.25rem;transition:color .15s}.back-link:hover{color:var(--zinc-200)}.back-link svg{width:15px;height:15px;flex-shrink:0}.card{background:var(--zinc-900);border:1px solid var(--zinc-800);border-radius:var(--radius-lg);overflow:hidden;position:relative}.card:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 12px,rgba(255,255,255,.01) 12px,rgba(255,255,255,.01) 13px);pointer-events:none}.card-header{padding:.875rem 1.25rem;border-bottom:1px solid var(--zinc-800);position:relative;z-index:1}.card-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--zinc-500)}.card-overflow{background:var(--zinc-900);border:1px solid var(--zinc-800);border-radius:var(--radius-lg);overflow-x:auto}.bento-card{background:var(--zinc-900);border:1px solid var(--zinc-800);border-radius:var(--radius-lg);padding:1.125rem;position:relative;overflow:hidden;transition:border-color .2s}.bento-card:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 12px,rgba(255,255,255,.01) 12px,rgba(255,255,255,.01) 13px);pointer-events:none}.bento-card:hover{border-color:#3f3f46cc}.bento-icon{width:30px;height:30px;border-radius:var(--radius);background:var(--zinc-800);border:1px solid var(--zinc-700);display:flex;align-items:center;justify-content:center;color:var(--zinc-400);margin-bottom:.75rem;position:relative;z-index:1}.bento-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--zinc-500);margin-bottom:.375rem;position:relative;z-index:1}.bento-value{font-family:var(--font-display);font-size:1.625rem;font-weight:700;color:var(--zinc-50);letter-spacing:-.03em;line-height:1;margin-bottom:.25rem;position:relative;z-index:1}.bento-sub{font-size:.6875rem;color:var(--zinc-500);position:relative;z-index:1}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;text-decoration:none;white-space:nowrap;font-family:var(--font)}.btn:active{transform:scale(.97)}.btn svg{width:14px;height:14px;stroke-width:2.25;flex-shrink:0}.btn-primary{background:var(--emerald-500);color:#fff;border-color:var(--emerald-500);box-shadow:0 4px 12px #10b98133}.btn-primary:hover{background:var(--emerald-400);border-color:var(--emerald-400);box-shadow:0 4px 16px #10b9814d}.btn-outline{background:transparent;color:var(--zinc-300);border-color:var(--zinc-700)}.btn-outline:hover{background:var(--zinc-800);border-color:var(--zinc-600);color:var(--zinc-100)}.btn-ghost{background:transparent;color:var(--zinc-400);border-color:transparent}.btn-ghost:hover{background:var(--zinc-800);color:var(--zinc-200)}.btn-sm{padding:.3rem .75rem;font-size:.75rem}.btn-xs{padding:.2rem .5rem;font-size:.6875rem}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.6875rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--radius-full)}.badge-running{background:#10b9811a;color:var(--emerald-400);border:1px solid rgba(16,185,129,.2)}.badge-provisioning,.badge-configuring{background:#fbbf2414;color:var(--amber-400);border:1px solid rgba(251,191,36,.15)}.badge-failed{background:#ef444414;color:var(--red-400);border:1px solid rgba(239,68,68,.15)}.badge-pending_payment{background:#71717a26;color:var(--zinc-400);border:1px solid var(--zinc-800)}.badge-pending{background:#71717a1a;color:var(--zinc-500);border:1px solid var(--zinc-800)}.badge-completed,.badge-success{background:#10b98114;color:var(--emerald-400);border:1px solid rgba(16,185,129,.15)}.alert{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.8125rem;margin-bottom:1rem;border:1px solid transparent}.alert-error{background:#ef444414;border-color:#ef444433;color:var(--red-400)}.alert-success{background:#10b98114;border-color:#10b98133;color:var(--emerald-400)}.alert-warning{background:#fbbf2414;border-color:#fbbf2433;color:var(--amber-400)}table{width:100%;border-collapse:collapse;font-size:.8125rem}thead tr{border-bottom:1px solid var(--zinc-800)}th{padding:.75rem 1.25rem;text-align:left;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--zinc-500);white-space:nowrap}td{padding:.875rem 1.25rem;color:var(--zinc-300);border-bottom:1px solid rgba(39,39,42,.5);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover td{background:#27272a66}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}label{font-size:.8125rem;font-weight:600;color:var(--zinc-300)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea{background:#18181bcc;border:1px solid var(--zinc-700);border-radius:var(--radius-md);padding:.5625rem .875rem;font-size:.875rem;color:var(--zinc-100);font-family:var(--font);transition:border-color .15s,box-shadow .15s;outline:none;width:100%}input::placeholder,textarea::placeholder{color:var(--zinc-600)}input:focus,select:focus,textarea:focus{border-color:#10b98180;box-shadow:0 0 0 3px #10b98114}.auth-page{background:var(--zinc-950);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-glow{position:fixed;top:10%;left:50%;transform:translate(-50%);width:600px;height:500px;background:radial-gradient(ellipse at center,rgba(16,185,129,.07) 0%,transparent 70%);pointer-events:none;z-index:0}.auth-card{width:100%;max-width:400px;background:#18181bcc;backdrop-filter:blur(20px);border:1px solid var(--zinc-800);border-radius:var(--radius-xl);padding:2rem;position:relative;z-index:1;animation:fade-up .5s cubic-bezier(.22,1,.36,1) both}.auth-logo{display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem}.auth-heading{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--zinc-50);letter-spacing:-.03em;text-align:center;margin-bottom:.375rem}.auth-subheading{font-size:.875rem;color:var(--zinc-500);text-align:center;margin-bottom:1.5rem}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--zinc-600);font-size:.75rem;margin:1.25rem 0;text-align:center}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--zinc-800)}.auth-footer{font-size:.8125rem;color:var(--zinc-500);text-align:center;margin-top:1.25rem}.auth-footer a{color:var(--emerald-400)}.dev-toolbar{position:fixed;bottom:1.25rem;right:1.25rem;z-index:1000;font-size:.75rem}.dev-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .75rem;background:#18181be6;backdrop-filter:blur(12px);border:1px solid var(--zinc-700);border-radius:var(--radius-full);color:var(--zinc-400);cursor:pointer;font-size:.75rem;font-weight:500;transition:border-color .15s,color .15s}.dev-pill:hover{border-color:var(--zinc-500);color:var(--zinc-200)}.dev-panel{position:absolute;bottom:calc(100% + .5rem);right:0;width:220px;background:#18181bf2;backdrop-filter:blur(16px);border:1px solid var(--zinc-700);border-radius:var(--radius-lg);padding:.875rem;box-shadow:0 8px 32px #0006}.dev-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.625rem;border-bottom:1px solid var(--zinc-800)}.dev-badge{font-size:.6875rem;font-weight:700;color:var(--amber-400);background:#fbbf2414;border:1px solid rgba(251,191,36,.15);padding:.15rem .4rem;border-radius:var(--radius-full)}.dev-user{font-size:.6875rem;color:var(--zinc-500);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-actions{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.625rem}.dev-action-btn{display:flex;align-items:center;gap:.4rem;padding:.375rem .625rem;border-radius:var(--radius);font-size:.75rem;color:var(--zinc-300);background:var(--zinc-800);border:1px solid var(--zinc-700);cursor:pointer;text-decoration:none;transition:background .12s,color .12s}.dev-action-btn:hover{background:var(--zinc-700);color:var(--zinc-100)}.dev-action-primary{background:#10b9811a;color:var(--emerald-400);border-color:#10b98133}.dev-action-primary:hover{background:#10b9812e}.dev-links{display:flex;flex-direction:column;gap:.2rem}.dev-link{font-size:.6875rem;color:var(--zinc-500);padding:.2rem .625rem;border-radius:var(--radius);transition:color .12s}.dev-link:hover{color:var(--zinc-300)}.progress-bar{height:2px;background:var(--zinc-800);border-radius:1px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--emerald-600),var(--emerald-400));border-radius:1px;transition:width .4s ease}.stat-bar{height:4px;background:var(--zinc-800);border-radius:2px;overflow:hidden}.stat-bar-fill{height:100%;background:linear-gradient(90deg,var(--emerald-600),var(--emerald-400));border-radius:2px;transition:width .5s cubic-bezier(.22,1,.36,1)}.stat-bar-fill.warn{background:linear-gradient(90deg,#d97706,var(--amber-400))}.stat-bar-fill.crit{background:linear-gradient(90deg,#dc2626,var(--red-400))}.log-terminal{background:#050507;border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;position:relative}.log-terminal:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.004) 2px,rgba(255,255,255,.004) 4px);pointer-events:none;z-index:1}.log-output{margin:0;padding:.875rem 1.25rem;font-family:var(--font-mono);font-size:.75rem;line-height:1.7;color:#c8c8c8;background:transparent;white-space:pre-wrap;word-break:break-all;max-height:420px;min-height:80px;overflow-y:auto;position:relative;z-index:2;scrollbar-width:thin;scrollbar-color:var(--zinc-700) transparent}.log-output::-webkit-scrollbar{width:4px}.log-output::-webkit-scrollbar-thumb{background:var(--zinc-700);border-radius:2px}.log-footer{padding:.5rem 1.25rem;border-top:1px solid rgba(39,39,42,.5);display:flex;align-items:center;justify-content:space-between;background:#050507cc;position:relative;z-index:2}.timeline{display:flex;flex-direction:column;position:relative;z-index:1}.timeline-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;position:relative}.timeline-item+.timeline-item{border-top:1px solid rgba(39,39,42,.5)}.timeline-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.timeline-icon.completed{background:#10b9811f;border:1px solid rgba(16,185,129,.25)}.timeline-icon.running{background:#fbbf241a;border:1px solid rgba(251,191,36,.2)}.timeline-icon.failed{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.timeline-icon.pending{background:var(--zinc-800);border:1px solid var(--zinc-700)}.ops-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .875rem;font-size:.7813rem;font-weight:500;color:var(--zinc-300);background:#27272ab3;border:1px solid var(--zinc-700);border-radius:var(--radius-full);cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:var(--font)}.ops-btn:hover:not(:disabled){background:var(--zinc-700);color:var(--zinc-100);border-color:var(--zinc-600)}.ops-btn:disabled{opacity:.4;cursor:not-allowed}.ops-btn-warning{border-color:#fbbf2440;color:var(--amber-400);background:#fbbf240d}.ops-btn-warning:hover:not(:disabled){background:#fbbf241a;border-color:#fbbf2459}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s cubic-bezier(.22,1,.36,1)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}main{padding:1.25rem 1rem 2rem}.page-header{flex-direction:column;align-items:flex-start}}
