:root{--bg:#0b1220;--card:#111a2b;--muted:#8aa4c7;--primary:#06cb3f;--bubble-left:#1b2a44;--bubble-right:#123d22;--bubble-system:#24314a;--chip:#1b2740;--border:#223150;--danger:#cc3344}
html,body{height:100%}
body{margin:0;background:linear-gradient(180deg,#0b1220,#0e1627 40%,#0b1220);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:#e7f0ff}
.wrap{max-width:1100px;margin:24px auto;padding:0 16px}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px}
.btn{background:var(--primary);color:#05250e;border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn.secondary{background:#203151;color:#d5e6ff}
.btn.ghost{background:transparent;border:1px solid var(--border);color:#d5e6ff}
input[type="text"], .input{background:#0e1729;border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:#e7f0ff}
.filebox{display:flex;gap:10px;align-items:center}
.filebox input[type=file]{display:none}
.filelabel{padding:10px 12px;border:1px dashed var(--border);border-radius:10px;color:#cfe1ff;cursor:pointer}
.grid{display:grid;grid-template-columns:300px 1fr;gap:14px}
.sessions{max-height:70vh;overflow:auto}
.session-item{padding:10px;border-radius:12px;border:1px solid var(--border);background:#0e1729;cursor:pointer}
.session-item.active{outline:2px solid var(--primary);background:#0e1d2f}
.muted{color:var(--muted)}
.title{font-size:22px;font-weight:800;letter-spacing:.2px}
.chip{display:inline-flex;gap:6px;align-items:center;background:var(--chip);border:1px solid var(--border);padding:4px 8px;border-radius:999px;color:#cfe1ff;font-size:12px}
.status.auto{background:#2a2140}
.status.wait{background:#403321}
.status.human{background:#1d3a29}
.meta{display:flex;flex-wrap:wrap;gap:8px}
.chat{height:70vh;overflow:auto;background:#0c1425;border:1px solid var(--border);border-radius:14px;padding:16px;scroll-behavior:smooth}
.bubble{max-width:72%;margin:8px 0;padding:10px 12px;border-radius:14px;line-height:1.35;border:1px solid var(--border)}
.left{background:var(--bubble-left);border-top-left-radius:4px}
.right{background:var(--bubble-right);border-top-right-radius:4px;margin-left:auto}
.system{background:var(--bubble-system);text-align:center;margin:12px auto;max-width:520px}
.bubble small{display:block;margin-top:6px;color:#b8c9e6;opacity:.85}
.badge{display:inline-block;font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--border);background:#1a2744;margin-left:6px}
.menu{border:1px dashed #2c3d63;border-radius:10px;margin-top:8px;padding:8px}
.menu div{padding:6px 8px;border-radius:8px;background:#10203a;margin:6px 0;border:1px solid #27406b}
.events{display:flex;flex-wrap:wrap;gap:8px}
.event{background:#13213a;border:1px solid var(--border);color:#cfe1ff;padding:6px 8px;border-radius:999px;font-size:12px}
.error{color:#ffd9df;background:#2b0e15;border:1px solid #5e1e2a;padding:10px;border-radius:10px}
