@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b1020;--panel:#11182b;--panel2:#172139;--border:#26324b;--text:#edf2ff;--muted:#9aa8c2;--blue:#6487ff;--blue2:#4568ed}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app{display:flex;height:100dvh;min-height:520px}.sidebar{width:270px;background:#090e1c;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 14px 14px;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.brand-mark{width:39px;height:39px;border-radius:13px;background:linear-gradient(135deg,#8aa2ff,#4165ef);display:grid;place-items:center;color:white;font-weight:800;font-size:22px;box-shadow:0 8px 25px #3d60ed45}.brand b{display:block;font-size:16px;letter-spacing:.1px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.new-chat{border:1px solid #344263;background:#151f35;border-radius:11px;padding:12px 14px;display:flex;gap:10px;align-items:center;font-weight:600;font-size:13px}.new-chat:hover,.history-item:hover{background:#1b2844}.side-label{font-size:10px;letter-spacing:1.5px;color:#7d8aa5;font-weight:700;padding:25px 10px 10px}.history{overflow:auto;flex:1}.history-item{display:block;padding:10px 12px;border-radius:8px;color:#b8c4db;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item.active{background:#1c2b4a;color:white}.muted,.side-empty{color:var(--muted);font-size:12px;line-height:1.6}.side-empty{padding:0 10px}.side-bottom{border-top:1px solid var(--border);padding-top:14px}.user-chip{display:flex;gap:10px;align-items:center;padding:6px 5px 12px}.avatar{width:32px;height:32px;border-radius:50%;background:#293a63;color:#dce5ff;display:grid;place-items:center;font-weight:700}.user-details{min-width:0}.user-details b,.user-details small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:175px}.user-details b{font-size:12px}.user-details small{font-size:10px;color:var(--muted);margin-top:4px}.side-link{display:block;padding:9px 8px;color:#aebbd4;font-size:12px;border-radius:7px}.side-link:hover{background:var(--panel2)}.main{display:flex;flex-direction:column;min-width:0;flex:1}.topbar{height:64px;border-bottom:1px solid #202b41;display:flex;align-items:center;padding:0 26px;gap:13px;flex-shrink:0}.top-title{font-weight:700;font-size:14px}.badge{font-size:9px;background:#273968;color:#9fb4ff;border:1px solid #40578f;padding:3px 6px;border-radius:5px;margin-left:5px;letter-spacing:.8px}.top-right{margin-left:auto;color:#8391ad;font-size:11px}.menu-btn{display:none;border:0;background:transparent;color:var(--text);font-size:20px}.chat-area{flex:1;overflow:auto;padding:34px 20px 28px;scroll-behavior:smooth}.welcome{max-width:760px;margin:8vh auto 0;text-align:center}.welcome-logo{width:58px;height:58px;margin:0 auto 20px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#263f81,#17274b);color:#a8bcff;font-size:28px;border:1px solid #405a9d}.welcome h1{font-size:clamp(24px,4vw,34px);margin:0 0 12px;letter-spacing:-1px}.welcome>p{color:var(--muted);font-size:14px;line-height:1.7;max-width:500px;margin:0 auto}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:36px auto 0}.suggestions button{text-align:left;display:flex;gap:11px;align-items:flex-start;padding:16px 13px;background:#111a2d;border:1px solid #263653;border-radius:13px;color:#c4d1ec;cursor:pointer}.suggestions button:hover{border-color:#5877d4;background:#17233c}.suggestions span b,.suggestions span small{display:block}.suggestions b{font-size:12px;margin:1px 0 6px}.suggestions small{font-size:10px;color:#8e9db8;line-height:1.5}.composer-wrap{width:min(820px,100%);margin:0 auto;padding:0 22px 16px}.composer{display:flex;align-items:flex-end;gap:10px;border:1px solid #34425f;background:#131c30;border-radius:17px;padding:11px 12px 11px 17px;box-shadow:0 10px 35px #0002}.composer:focus-within{border-color:#617fe5}.composer textarea{flex:1;resize:none;max-height:180px;min-height:28px;line-height:1.6;border:0;outline:0;background:transparent;color:var(--text);font-size:14px;padding:3px 0}.composer textarea::placeholder{color:#7f8ca7}.composer button{width:37px;height:37px;flex-shrink:0;border:0;border-radius:11px;background:var(--blue2);color:white;font-size:19px;cursor:pointer}.composer button:disabled{opacity:.45}.disclaimer{text-align:center;color:#74819a;font-size:10px;margin-top:11px}.messages{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:25px}.message{display:flex;gap:13px;align-items:flex-start;line-height:1.8;font-size:14px}.message-avatar{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:#1a2c51;color:#9db4ff;font-weight:700}.message.user .message-avatar{background:#253451;color:#e1e9ff}.message-content{min-width:0;overflow-wrap:anywhere;padding-top:2px;white-space:normal}.message.assistant .message-content{color:#e0e7f7}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;max-width:90vw;background:#7c2d35;color:white;padding:12px 17px;border-radius:10px;font-size:12px;transition:.2s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.auth-body{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#172751 0%,#0b1020 55%)}.auth-card{width:min(420px,100%);padding:32px;background:#11192b;border:1px solid #293753;border-radius:20px;box-shadow:0 25px 90px #0004}.auth-brand{padding:0 0 28px}.auth-card h1{font-size:24px;margin:0 0 9px;letter-spacing:-.5px}.auth-card>p,.auth-card form>p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 23px}.auth-card label,.installer label{display:block;font-size:12px;font-weight:600;color:#cbd5e8;margin:15px 0 7px}.auth-card input,.installer input,.installer select{width:100%;border:1px solid #35415c;background:#0c1323;color:var(--text);padding:12px 13px;border-radius:9px;outline:none}.auth-card input:focus,.installer input:focus{border-color:#6c88ee}.primary-btn{width:100%;display:block;border:0;border-radius:10px;background:linear-gradient(120deg,#6487ff,#4568ed);color:white;font-weight:700;padding:13px;margin-top:22px;cursor:pointer;text-align:center}.auth-foot{text-align:center;font-size:12px;color:var(--muted);margin-top:22px}.auth-foot a,.back-link{color:#9bb0ff;font-weight:600}.error{background:#48242b;border:1px solid #85404b;color:#ffd9dd;padding:11px;border-radius:8px;font-size:12px;margin:14px 0}.success{line-height:1.7;font-size:13px}.success h1{color:#a9ffc8}.button-link{box-sizing:border-box}.installer{width:min(520px,100%);max-height:95dvh;overflow:auto}.installer h3{margin:24px 0 8px;font-size:14px;color:#9db4ff}.installer .hint{font-size:11px;margin:6px 0 12px}.installer .primary-btn{margin-bottom:4px}.admin-body{padding:32px 18px}.admin-wrap{max-width:1000px;margin:0 auto}.admin-wrap h1{margin-top:25px}.admin-wrap>p{color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0 35px}.stats>div{background:#131c30;border:1px solid var(--border);border-radius:13px;padding:20px}.stats small,.stats strong{display:block}.stats small{color:var(--muted);font-size:12px}.stats strong{font-size:28px;margin-top:9px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:#9fb1d2;background:#11192b}td{color:#d7e0f2}tr:last-child td{border-bottom:0}
@media(max-width:700px){.sidebar{position:fixed;z-index:20;top:0;bottom:0;left:0;transform:translateX(-102%);transition:transform .2s;width:275px;box-shadow:15px 0 40px #0004}.sidebar.open{transform:translateX(0)}.menu-btn{display:block}.topbar{padding:0 16px;height:58px}.chat-area{padding:25px 14px}.welcome{margin-top:6vh}.welcome h1{font-size:25px}.welcome>p{font-size:12px}.suggestions{grid-template-columns:1fr;margin-top:25px;gap:8px}.suggestions button{padding:12px}.suggestions small{font-size:11px}.composer-wrap{padding:0 10px 12px}.composer{border-radius:14px;padding:8px 9px 8px 13px}.composer textarea{font-size:13px}.messages{gap:20px}.message{font-size:13px;gap:10px}.auth-card{padding:25px 21px}.stats{grid-template-columns:1fr}.top-right{font-size:10px}}
