:root{--bg:#070b10;--panel:#101820;--ink:#eef3f8;--muted:#8fa3b8;--line:#243041;--accent:#2f6fed;--accent-2:#3dbe7f;--danger:#e85d5d;--font-display:"Syne", "Avenir Next", "Segoe UI", sans-serif;--font-body:"Manrope", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:var(--bg);font-family:var(--font-body);margin:0}a{color:inherit}button,input{font:inherit}.shell{grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.hero{background:linear-gradient(#070b1038 0%,#070b101a 42%,#070b10c7 100%),url(/revo-login-bg.png) 50% 28%/cover no-repeat;min-height:100vh;position:relative}.hero-copy{max-width:420px;position:absolute;bottom:40px;left:40px}.hero-copy .eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#c8d7e8;text-shadow:0 1px 12px #00000073;margin:0 0 10px;font-size:.72rem}.hero-copy h1{font-family:var(--font-display);text-shadow:0 2px 18px #00000080;margin:0;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:700;line-height:1.05}.hero-copy p{color:#e8eef5;text-shadow:0 1px 14px #00000073;margin:14px 0 0;font-size:1.05rem;line-height:1.5}.panel{background:radial-gradient(700px 340px at 90% -10%, #2f6fed2e, transparent), var(--panel);border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding:40px 36px;display:flex}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand img{width:160px;height:auto;display:block}.brand span{font-family:var(--font-display);letter-spacing:.14em;color:var(--muted);font-size:.78rem}.panel h2{font-family:var(--font-display);margin:0 0 8px;font-size:1.8rem}.panel .lead{color:var(--muted);margin:0 0 22px;line-height:1.45}.form{flex-direction:column;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}input{border:1px solid var(--line);color:var(--ink);background:#0b121a;border-radius:12px;padding:12px 14px}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;margin-top:6px;padding:12px 16px;font-weight:600}button.primary:disabled{opacity:.6;cursor:wait}button.ghost{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:8px 12px}.error{color:var(--danger);margin:0;font-size:.9rem}.dash{background:linear-gradient(#070b10b8 0%,#070b108c 45%,#070b10d1 100%),url(/revo-apps-bg.jpg) 50% 40%/cover no-repeat fixed;min-height:100vh;padding:28px 28px 48px}.dash-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.dash-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.dash-top .who{color:var(--muted);font-size:.92rem}.btn-admin{color:#9ec1ff;font-family:var(--font-display);letter-spacing:.14em;background:linear-gradient(#1a2a3d,#121c28);border:1px solid #3a5475;border-radius:10px;justify-content:center;align-items:center;padding:8px 14px;font-size:.78rem;font-weight:700;text-decoration:none;transition:border-color .16s,color .16s,transform .16s;display:inline-flex}.btn-admin:hover{color:#c9ddff;border-color:#5a7fad;transform:translateY(-1px)}.dash-intro h1{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,3vw,2.4rem)}.dash-intro p{color:var(--muted);max-width:560px;margin:8px 0 0}.apps{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:28px;display:grid}.app-card{appearance:none;text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:linear-gradient(160deg,#16202cf2,#0c121af2);border-radius:16px;padding:20px;transition:transform .16s,border-color .16s,box-shadow .16s}.app-card:hover{border-color:#3a5475;transform:translateY(-2px);box-shadow:0 12px 30px #00000047}.app-card .short{letter-spacing:.14em;text-transform:uppercase;color:#9ec1ff;font-size:.75rem}.app-card h3{font-family:var(--font-display);margin:10px 0 6px;font-size:1.25rem}.app-card p{color:var(--muted);margin:0;font-size:.92rem}.empty{border:1px dashed var(--line);color:var(--muted);border-radius:16px;margin-top:28px;padding:28px}@media (max-width:900px){.shell{grid-template-columns:1fr}.hero{min-height:42vh}.hero-copy{bottom:20px;left:20px;right:20px}.panel{border-left:0;border-top:1px solid var(--line);padding:28px 20px 40px}.dash{padding:20px 16px 40px}.dash-top{flex-direction:column;align-items:flex-start}}
