:root{--navy:#0b1b3a;--navy2:#13294f;--purple:#7c5cff;--cyan:#22d3ee}
*{box-sizing:border-box}html,body{overflow-x:hidden;max-width:100%}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f7fb;color:#1c2540}
img,svg{max-width:100%}
.btn-ai{background:linear-gradient(90deg,var(--purple),var(--cyan));color:#fff;border:0}.btn-ai:hover{color:#fff;opacity:.9}
.nav-ai{background:var(--navy)}
.hero{background:radial-gradient(circle at 80% 0,rgba(124,92,255,.4),transparent 50%),var(--navy);color:#fff;padding:6rem 0;text-align:center}
.hero h1{font-weight:800;font-size:clamp(1.8rem,5vw,3.2rem)}.hero span{color:var(--cyan)}.hero p{max-width:640px;margin:1rem auto 2rem;opacity:.85}
.card-ai{background:#fff;border-radius:16px;padding:1.5rem;height:100%;box-shadow:0 4px 20px rgba(11,27,58,.07)}
.card-ai>i{font-size:2rem;color:var(--purple)}.step{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--cyan);margin-bottom:.5rem}
.foot{background:var(--navy);color:#cbd5e1;text-align:center;padding:1.5rem}.foot a{color:var(--cyan)}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,var(--navy),var(--navy2))}
.auth-card{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:420px}
.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:#fff;padding:1rem;display:flex;flex-direction:column;transition:transform .25s;z-index:1040}
.sidebar .brand{font-weight:700;font-size:1.2rem;margin-bottom:1.5rem;color:var(--cyan)}
.sidebar a{display:block;color:#cbd5e1;padding:.6rem .8rem;border-radius:8px;text-decoration:none}.sidebar a:hover{background:var(--navy2);color:#fff}
.sb-foot{margin-top:auto;display:flex;flex-direction:column;gap:.5rem;color:#94a3b8}
.content{margin-left:240px;padding:1.5rem}
.stat{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 20px rgba(11,27,58,.07)}
.stat i{font-size:2rem;color:var(--purple)}.stat b{font-size:1.8rem}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.content{margin-left:0}}
