*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#0f0f10;color:#ececf1}a{color:inherit;text-decoration:none}button,.btn{cursor:pointer;border:0;border-radius:14px;background:#fff;color:#111;padding:12px 18px;font-weight:700}input,select,textarea{width:100%;border:1px solid #303036;background:#17181c;color:#fff;border-radius:14px;padding:13px;outline:none}.landing{background:radial-gradient(circle at 30% 0,#2f2550,#0f0f10 55%)}.hero{min-height:100vh;padding:28px}.hero nav,.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:rgba(255,255,255,.04);border-bottom:1px solid #28282d}.logo,.brand,.side-logo{font-weight:900;font-size:24px}.hero-box{max-width:780px;margin:120px auto;text-align:center}.hero h1{font-size:62px;margin:16px 0}.hero p{color:#b9b9c2;font-size:20px}.pill{padding:9px 14px;background:#2b2440;border:1px solid #6d5dff;border-radius:999px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#15151a,#242037)}.login-card{width:420px;background:#17181c;border:1px solid #303036;border-radius:26px;padding:34px;box-shadow:0 25px 80px #0008}.login-card h2{margin-bottom:20px}.login-card input,.login-card button{margin-top:12px}.login-card button{width:100%}.alert,.notice{padding:12px;border-radius:12px;background:#3a1d25;color:#ffb7c4;margin:12px 0}.chat-shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:300px;background:#171717;border-right:1px solid #2a2b30;padding:14px;overflow:auto}.new-chat{display:block;padding:14px;border:1px solid #393a40;border-radius:14px;margin:12px 0}.visit-form{display:grid;gap:8px;padding:10px;background:#101115;border-radius:16px}.visit-form button{padding:10px}.side-title{font-size:12px;color:#999;margin:18px 0 8px;text-transform:uppercase}.chat-link{display:block;padding:12px;border-radius:12px;color:#d7d7dc;margin-bottom:6px}.chat-link small{display:block;color:#777;font-size:11px}.chat-link.active,.chat-link:hover{background:#2a2b32}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{height:66px;border-bottom:1px solid #2a2b30;display:flex;justify-content:space-between;align-items:center;padding:0 24px;background:#111114}.chat-header small{display:block;color:#999}.chat-header nav{display:flex;gap:18px;color:#cfcfd7}.messages{flex:1;overflow:auto;padding:30px 13%;}.welcome{text-align:center;margin-top:12vh}.spark{font-size:42px}.welcome h1{font-size:42px}.welcome p{color:#aaa}.suggestions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.suggestions button{background:#202127;color:#fff;border:1px solid #3a3b43}.msg{display:flex;gap:14px;margin:22px 0}.msg.user{justify-content:flex-end}.msg.user .avatar{order:2}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#30313a;font-size:12px;font-weight:900;flex:none}.msg.bot .avatar{background:#19c37d;color:#062015}.bubble{max-width:760px;line-height:1.6;background:#1b1c20;border:1px solid #2b2c33;border-radius:18px;padding:16px 18px;white-space:pre-wrap}.msg.user .bubble{background:#2f3140}.bubble small{display:block;color:#777;margin-top:8px;font-size:11px}.composer{padding:18px 13% 28px;display:flex;gap:12px;background:linear-gradient(transparent,#0f0f10 25%)}.composer textarea{resize:none;min-height:54px}.composer button{width:58px;border-radius:16px}.dash{padding:28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.card,.panel{background:#17181c;border:1px solid #2b2c33;border-radius:22px;padding:22px;box-shadow:0 16px 40px #0003}.card span{color:#9a9aa3}.card b{display:block;font-size:42px;margin-top:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.narrow{max-width:720px;margin:auto}.panel h2{margin-top:0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #2c2d33;padding:12px;text-align:left}th{color:#aaa}tr:hover td{background:#1d1e24}@media(max-width:900px){.sidebar{display:none}.messages,.composer{padding-left:18px;padding-right:18px}.cards,.grid2{grid-template-columns:1fr}.hero h1{font-size:38px}.login-card{width:92%}}
