*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:#0f172a;color:#e2e8f0}.app{max-width:960px;margin:0 auto;padding:24px}header h1{margin-bottom:4px}header p{color:#94a3b8;margin-top:0}.upload-box{border:2px dashed #475569;border-radius:12px;padding:60px 20px;text-align:center;cursor:pointer;margin-top:24px}.upload-box:hover{border-color:#6366f1}.file-name{color:#6366f1;font-weight:600}.session-bar{display:flex;align-items:center;gap:12px;background:#1e293b;padding:12px 16px;border-radius:10px;margin-bottom:16px;flex-wrap:wrap}.btn{background:#6366f1;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;text-decoration:none;font-size:14px}.btn.secondary{background:#334155}.chat-box{background:#1e293b;border-radius:10px;padding:12px;margin-bottom:16px}.chat-history{max-height:260px;overflow-y:auto;margin-bottom:10px}.chat-entry{margin-bottom:10px}.chat-prompt{color:#cbd5e1}.chat-answer{color:#a5b4fc;margin-top:2px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{flex:1;padding:10px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#fff}.chat-input-row button{background:#6366f1;border:none;color:#fff;padding:0 16px;border-radius:8px;cursor:pointer}.chart-box{background:#1e293b;border-radius:10px;padding:12px;margin-bottom:16px}.table-wrap{overflow:auto;max-height:420px;border:1px solid #334155;border-radius:8px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid #334155;padding:6px 10px;text-align:left;white-space:nowrap}th{background:#1e293b;position:sticky;top:0}tr:nth-child(2n){background:#16213a}.error{color:#f87171;margin:8px 0}
