@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap");:root{--bg:#0a0e18;--panel:#141d30;--panel-2:#1b2740;--border:#2a3752;--border-strong:#3d4f74;--text:#f2f5fa;--muted:#93a4c0;--accent:#3b82f6;--accent-2:#2563eb;--accent-soft:rgba(59,130,246,.14);--ok:#34d399;--danger:#f87171;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;padding:0;background:transparent;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:var(--sans)}.bg-mesh{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(50rem 32rem at 12% -8%,rgba(59,130,246,.16),transparent 60%),radial-gradient(46rem 30rem at 92% 4%,rgba(56,189,248,.1),transparent 60%),linear-gradient(var(--bg),var(--bg))}.bg-mesh:after{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 50% 0,#000,transparent 75%);mask-image:radial-gradient(circle at 50% 0,#000,transparent 75%)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:16px;padding:14px 26px;border-bottom:1px solid var(--border);background:rgba(10,14,24,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.logo-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:19px;background:linear-gradient(150deg,#60a5fa,#3b82f6 65%,#1d4ed8);box-shadow:0 6px 20px rgba(59,130,246,.38)}.brand-txt{display:flex;flex-direction:column;line-height:1.05}.brand-txt b{font-size:16px;font-weight:700}.brand-txt span{font-family:var(--mono);font-size:9px;letter-spacing:3px;color:var(--muted)}.brand span{color:var(--accent)}.user{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}.user-email{font-size:13px}.chip{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--muted)}.chip.admin{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}.avatar{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;object-fit:cover;background:linear-gradient(150deg,#60a5fa,#3b82f6);border:1px solid var(--accent-soft)}.btn,img.avatar{border:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--panel-2);color:var(--text);border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .12s ease}.btn:hover{border-color:var(--border-strong);background:var(--panel)}.btn:active{transform:scale(.97)}.btn-soft{padding:8px 13px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;width:100%}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.content{max-width:1080px;margin:0 auto;padding:40px 26px 60px}.hero{margin-bottom:30px}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:3px;color:var(--accent);margin-bottom:12px}.hero h1{margin:0 0 10px;font-size:34px;font-weight:800;letter-spacing:-.6px}.hero-sub{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6;max-width:640px}.hero-date{text-transform:capitalize;color:var(--text);font-weight:600}.dot-sep{margin:0 8px;opacity:.5}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.app-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:16px;padding:18px 18px 16px;overflow:hidden;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .16s ease,box-shadow .18s ease;animation:cardIn .4s cubic-bezier(.2,.8,.2,1)}.app-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:.9}.app-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 40px -20px rgba(0,0,0,.8),0 0 0 1px var(--accent-soft)}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ac-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ac-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.ac-icon svg{width:22px;height:22px}.ac-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:1.2px;font-weight:600;padding:4px 9px;border-radius:999px}.ac-status.on{color:var(--ok);background:rgba(52,211,153,.13)}.ac-status.off{color:var(--danger);background:hsla(0,91%,71%,.13)}.ac-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.ac-status.on .ac-dot{box-shadow:0 0 7px var(--ok)}.ac-cat{font-family:var(--mono);font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-bottom:5px}.app-card h3{margin:0 0 6px;font-size:18px;font-weight:700}.app-card p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.5;flex:1 1}.ac-open{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent);transition:gap .16s ease}.app-card:hover .ac-open{gap:10px}.empty{background:var(--panel);border:1px dashed var(--border);border-radius:14px;padding:30px;text-align:center}.empty,.foot{color:var(--muted)}.foot{margin-top:34px;font-family:var(--mono);font-size:11px;letter-spacing:.5px}.wrap{max-width:980px;margin:0 auto;padding:28px 22px 60px}.wrap .topbar{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:0;margin-bottom:28px}.card{display:block;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:16px;padding:20px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.login-card{width:100%;max-width:380px;padding:30px;border-radius:18px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);box-shadow:0 30px 80px -30px rgba(0,0,0,.85),0 0 0 1px var(--accent-soft)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-card h1{margin:0 0 4px;font-size:22px}.login-card .sub{color:var(--muted);font-size:14px;margin:0 0 22px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:11px 12px;color:var(--text);font-size:15px}.field input:focus{outline:none;border-color:var(--accent)}.error{color:var(--danger);font-size:13px;margin:0 0 14px}@media (max-width:560px){.content{padding:28px 16px 48px}.hero h1{font-size:27px}.user-email{display:none}.topbar{padding:12px 16px}}@media (prefers-reduced-motion:reduce){.app-card{animation:none;transition:none}}