*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;color:#333}.app{display:flex;flex-direction:column;height:100vh;max-width:1400px;margin:0 auto;padding:1rem}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.header h1{font-size:1.5rem;color:#1a365d}.contract-selector{display:flex;align-items:center;gap:.5rem}.contract-selector select{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:4px;font-size:1rem;background:#fff}.main-content{display:flex;gap:1rem;flex:1;min-height:0}.chat-container{flex:2;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.messages{flex:1;overflow-y:auto;padding:1rem}.message{margin-bottom:1rem;padding:1rem;border-radius:8px;max-width:90%}.message.user{background:#e6f2ff;margin-left:auto}.message.assistant{background:#f8fafc;border:1px solid #e2e8f0}.message-content{line-height:1.6}.message-content table{width:100%;border-collapse:collapse;margin:1rem 0}.message-content th,.message-content td{padding:.5rem;border:1px solid #e2e8f0;text-align:left}.message-content th{background:#f1f5f9;font-weight:600}.message-content ul,.message-content ol{margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem}.message-content code{background:#f1f5f9;padding:.125rem .25rem;border-radius:4px;font-family:monospace}.message-actions{display:flex;gap:.5rem;margin-top:.5rem}.export-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer}.export-btn:hover{background:#059669}.input-container{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #e2e8f0}.input-container input{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:4px;font-size:1rem}.input-container input:focus{outline:none;border-color:#3182ce}.input-container button{padding:.75rem 1.5rem;background:#3182ce;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.input-container button:hover{background:#2c5282}.input-container button:disabled{background:#a0aec0;cursor:not-allowed}.sources-panel{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;display:flex;flex-direction:column}.sources-header{padding:1rem;border-bottom:1px solid #e2e8f0;font-weight:600;color:#1a365d}.sources-list{flex:1;overflow-y:auto;padding:1rem}.source-item{padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;margin-bottom:.5rem}.source-item h4{font-size:.875rem;color:#1a365d;margin-bottom:.25rem}.source-item .location{font-size:.75rem;color:#64748b;margin-bottom:.5rem}.source-item .excerpt{font-size:.8rem;color:#475569;line-height:1.4;max-height:80px;overflow:hidden}.loading{display:flex;align-items:center;gap:.5rem;color:#64748b}.spinner{width:1rem;height:1rem;border:2px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.domains-badge{font-size:.75rem;color:#64748b;margin-top:.25rem}.error{padding:1rem;background:#fee2e2;color:#991b1b;border-radius:4px;margin:1rem 0}
