:root{--bg:#0b0d12;--panel:#141821;--panel-2:#1b2130;--border:#262d3d;--text:#e6e9ef;--muted:#8b93a7;--accent:#5b8cff;--green:#3ecf8e;--red:#ff5c7a;--yellow:#f4c75b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}.container{max-width:1000px;margin:0 auto;padding:24px}header.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:18px}.brand span{color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}h1{font-size:22px;margin:0 0 4px}h2{font-size:15px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.05em}h2,label{color:var(--muted)}label{display:block;font-size:13px;margin:10px 0 4px}input{width:100%;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}input:focus{outline:none;border-color:var(--accent)}button{padding:9px 14px;border-radius:8px;border:1px solid var(--border);background:var(--accent);color:#fff;font-weight:600;cursor:pointer;font-size:14px}button.secondary{background:var(--panel-2);color:var(--text)}button.danger{background:transparent;color:var(--red);border-color:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grid2{grid-template-columns:1fr 1fr;grid-gap:12px}.cards,.grid2{display:grid;gap:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;margin-top:14px}.card{border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:16px;cursor:pointer;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.topnav{display:flex;gap:8px;margin-left:auto;margin-right:16px;flex-wrap:wrap}.topnav a{text-decoration:none}.topnav .active{background:var(--accent);color:#fff;border-color:var(--accent)}.app-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);margin-bottom:10px}.app-meta{font-size:13px;color:var(--muted)}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.running{background:rgba(62,207,142,.15);color:var(--green)}.badge.failed{background:rgba(255,92,122,.15);color:var(--red)}.badge.deploying,.badge.pending{background:rgba(244,199,91,.15);color:var(--yellow)}.badge.stopped{background:rgba(139,147,167,.15);color:var(--muted)}.error{color:var(--red);font-size:13px;margin-top:8px}.logs{background:#06070a;border:1px solid var(--border);border-radius:8px;padding:12px;height:320px;overflow-y:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;white-space:pre-wrap;line-height:1.5}.logs .stderr{color:var(--red)}.muted{color:var(--muted);font-size:13px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{width:380px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{background:var(--panel-2)}.tabs button.active{background:var(--accent)}.landing{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(1200px 600px at 80% -10%,rgba(91,140,255,.18),transparent 60%),radial-gradient(900px 500px at 0 100%,rgba(180,90,255,.16),transparent 60%),#07080d;display:flex;flex-direction:column}.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:0;animation:float 16s ease-in-out infinite}.orb-a{width:460px;height:460px;background:#5b8cff;top:-120px;right:-80px}.orb-b{width:380px;height:380px;background:#b45aff;bottom:-120px;left:-60px;animation-delay:-5s}.orb-c{width:300px;height:300px;background:#3ecf8e;top:40%;left:55%;opacity:.3;animation-delay:-9s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-30px) scale(1.08)}}.grid-overlay{position:absolute;inset:0;z-index:0;opacity:.4;background-image:linear-gradient(hsla(0,0%,100%,.035) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,transparent 0);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 75%);mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 75%)}.hero,.landing-foot,.landing-nav{position:relative;z-index:1}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 40px}.brand.lg{font-size:22px;font-weight:800;letter-spacing:-.02em}.logo-img{height:46px;width:auto;display:block;filter:drop-shadow(0 4px 18px rgba(91,140,255,.45))}.logo-img.sm{height:34px;filter:drop-shadow(0 2px 10px rgba(91,140,255,.35))}.iso-mark{width:72px;height:72px;display:block;margin:-8px auto 10px;filter:drop-shadow(0 0 22px rgba(91,140,255,.65));animation:isoPulse 4s ease-in-out infinite}@keyframes isoPulse{0%,to{transform:translateY(0);filter:drop-shadow(0 0 18px rgba(91,140,255,.55))}50%{transform:translateY(-4px);filter:drop-shadow(0 0 30px rgba(122,91,255,.85))}}.pill{font-size:12px;color:var(--green);border:1px solid rgba(62,207,142,.35);background:rgba(62,207,142,.08);padding:5px 12px;border-radius:999px;font-weight:600}.hero{flex:1 1;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:48px;gap:48px;align-items:center;max-width:1180px;width:100%;margin:0 auto;padding:24px 40px 60px}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--accent);font-weight:700}.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.04;margin:14px 0 18px;font-weight:800;letter-spacing:-.03em}.gradient-text{background:linear-gradient(100deg,#5b8cff,#b45aff 45%,#3ecf8e);-webkit-background-clip:text;background-clip:text;color:transparent}.lede{font-size:17px;color:var(--muted);max-width:520px;line-height:1.6;margin:0 0 28px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;max-width:560px}.feature{display:flex;gap:12px;padding:14px;border-radius:14px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .2s,border-color .2s}.feature:hover{transform:translateY(-3px);border-color:rgba(91,140,255,.4)}.feature-ico{font-size:22px;line-height:1}.feature strong{font-size:14px}.feature-desc{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45}.stat-row{display:flex;gap:34px;margin-top:30px}.stat-row div{display:flex;flex-direction:column}.stat-row b{font-size:26px;font-weight:800;background:linear-gradient(100deg,#5b8cff,#b45aff);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-row span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.login-wrap{display:flex;justify-content:center}.login-card{width:100%;max-width:380px;padding:30px;background:linear-gradient(180deg,rgba(22,26,38,.9),rgba(15,18,28,.9));border:1px solid hsla(0,0%,100%,.1);border-radius:20px;box-shadow:0 30px 80px -20px rgba(91,140,255,.35),inset 0 1px 0 hsla(0,0%,100%,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-title{font-size:22px;margin:0;color:var(--text);text-transform:none;letter-spacing:-.01em}.login-sub{font-size:13px;color:var(--muted);margin:6px 0 18px}.login-foot{font-size:12px;color:var(--muted);margin-top:16px;text-align:center}button.cta{background:linear-gradient(100deg,#5b8cff,#7a5bff);border:none;font-size:15px;padding:12px;box-shadow:0 10px 30px -8px rgba(91,140,255,.7);transition:transform .15s,box-shadow .15s}button.cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(122,91,255,.8)}.landing-foot{text-align:center;padding:20px;font-size:12.5px}.landing-foot,.sig{color:var(--muted)}.sig a{color:var(--accent);font-weight:600;text-decoration:none;background:linear-gradient(100deg,#5b8cff,#b45aff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sig a:hover{text-decoration:underline;-webkit-text-fill-color:var(--accent)}.dash-foot{text-align:center;padding:28px 0 36px;font-size:12.5px}@media (max-width:860px){.hero{gap:32px;padding-top:8px}.feature-grid,.hero{grid-template-columns:1fr}.login-wrap{order:-1}}