*{box-sizing:border-box}body{margin:0;padding:0;width:100%;overflow-x:hidden}.app-nav{background:#2c3e50;color:#fff;padding:1rem 0;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.nav-links{display:flex;gap:2rem}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .3s ease}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#3498db}.app-main{min-height:calc(100vh - 80px);padding:2rem;width:100%;max-width:100%}.home-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 160px)}.app-header{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:600px}.app-header h1{color:#333;margin-bottom:1rem;font-size:2.5rem}.app-header p{color:#666;font-size:1.2rem;margin-bottom:2rem}.home-actions{margin-top:2rem}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:500;transition:all .3s ease;border:none;cursor:pointer;font-size:1rem}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9;transform:translateY(-1px)}.deal-list{max-width:1400px;margin:0 auto}.deal-list-header{text-align:center;margin-bottom:2rem}.deal-list-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.deal-list-header p{color:#7f8c8d;font-size:1.1rem}.deal-list-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.deal-list-table thead{background-color:#34495e;color:#fff}.deal-list-table th,.deal-list-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ecf0f1}.deal-list-table th{font-weight:600;font-size:.9rem}.deal-list-table tbody tr:hover{background-color:#f8f9fa}.deal-id{font-family:monospace;font-weight:600;color:#3498db}.counter-party{font-weight:500}.product-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}.product-badge.crude{background-color:#27ae60;color:#fff}.product-badge.gasoline{background-color:#f39c12;color:#fff}.product-badge.diesel{background-color:#e74c3c;color:#fff}.product-badge.jet_fuel{background-color:#9b59b6;color:#fff}.product-badge.fuel_oil{background-color:#34495e;color:#fff}.volume{font-weight:500}.delivery-port{color:#7f8c8d}.laycan{font-size:.9rem;color:#7f8c8d}.price-info{font-weight:600}.fixed-price{color:#2c3e50;background-color:#ecf0f1;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.price-basis-diff{display:flex;flex-direction:column;gap:.25rem}.price-basis{font-size:.8rem;color:#7f8c8d;font-weight:500;text-transform:uppercase}.price-diff{font-weight:600;font-size:.9rem}.price-diff.positive{color:#27ae60}.price-diff.negative{color:#e74c3c}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.spot{background-color:#3498db;color:#fff}.status-badge.term{background-color:#2ecc71;color:#fff}.status-badge.swaps{background-color:#9b59b6;color:#fff}.status-badge.options{background-color:#f39c12;color:#fff}.status-badge.counterparty{background-color:#e74c3c;color:#fff}.status-badge.our-trader{background-color:#27ae60;color:#fff}.conversation-generator{display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto}.generator-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a}.generator-form h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.form-group label{font-weight:600;color:#34495e;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:2px solid #ecf0f1;border-radius:4px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db}.form-actions{display:flex;justify-content:center;margin-top:1rem}.error-message{background:#e74c3c;color:#fff;padding:1rem;border-radius:4px;margin:1rem 0}.error-message h3{margin:0 0 .5rem;font-size:1.1rem}.conversation-result{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.result-header{background:#34495e;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.result-header h2{margin:0;font-size:1.3rem}.result-actions{display:flex;gap:1rem}.conversation-content{padding:2rem;max-height:600px;overflow-y:auto}.conversation-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;color:#2c3e50;background:#f8f9fa;padding:1.5rem;border-radius:4px;border:1px solid #ecf0f1;margin:0}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.result-header{flex-direction:column;gap:1rem;align-items:stretch}.result-actions{justify-content:center}.conversation-content{padding:1rem}.conversation-content pre{font-size:.8rem;padding:1rem}}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.btn-xs{padding:.25rem .5rem;font-size:.8rem;border-radius:4px}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn:disabled{opacity:.6;cursor:not-allowed;background-color:#6c757d!important;border-color:#6c757d!important}.btn:disabled:hover{background-color:#6c757d!important;border-color:#6c757d!important}.deal-detail{max-width:1000px;margin:0 auto}.deal-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.header-content p{color:#7f8c8d;font-size:.9rem}.header-actions{display:flex;gap:1rem}.deal-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.deal-table{width:100%;border-collapse:collapse}.deal-table thead{background-color:#34495e;color:#fff}.deal-table th,.deal-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ecf0f1}.deal-table th{font-weight:600;font-size:.9rem}.deal-table tbody tr:hover{background-color:#f8f9fa}.field-label{font-weight:600;color:#2c3e50;width:40%;background-color:#f8f9fa;font-size:.9rem}.field-value{color:#34495e;width:60%;font-size:.9rem}.loading,.error{text-align:center;padding:3rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.loading h2,.error h2{color:#2c3e50;margin-bottom:1rem}.error p{color:#e74c3c;margin-bottom:2rem}.chat-list{max-width:1200px;margin:0 auto}.chat-list-header{text-align:center;margin-bottom:2rem}.chat-list-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.chat-list-header p{color:#7f8c8d;font-size:1.1rem}.chat-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.chat-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.chat-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.chat-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-info h3{color:#2c3e50;margin-bottom:.25rem}.participants{color:#7f8c8d;font-size:.9rem}.extraction-status{display:flex;gap:.5rem;align-items:center}.confidence-badge{color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.completed{background-color:#27ae60;color:#fff}.status-badge.pending{background-color:#f39c12;color:#fff}.chat-card-content{margin-bottom:1rem}.deal-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.deal-info{display:flex;gap:.5rem;align-items:center}.pricing-info{font-weight:600}.last-message{border-top:1px solid #ecf0f1;padding-top:1rem}.message-preview{color:#34495e;margin-bottom:.5rem;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.message-time{color:#7f8c8d;font-size:.8rem}.chat-card-actions{display:flex;justify-content:center;align-items:center;min-height:2.5rem}.btn-group{display:flex;gap:1rem;align-items:center}.chat-detail{max-width:1200px;margin:0 auto;height:calc(100vh - 140px);display:flex;flex-direction:column}.chat-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;flex-shrink:0}.header-content h1{color:#2c3e50;font-size:1.8rem;margin-bottom:.25rem}.extraction-info{display:flex;gap:1rem;align-items:center}.chat-detail-content{display:grid;grid-template-columns:1fr 400px;gap:1.5rem;flex:1;min-height:0}.chat-messages{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1rem;display:flex;flex-direction:column;min-height:0}.chat-messages h2{color:#2c3e50;margin-bottom:1rem;border-bottom:2px solid #ecf0f1;padding-bottom:.5rem;flex-shrink:0}.messages-container{flex:1;overflow-y:auto;min-height:0}.message{margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:6px;border-left:4px solid #3498db}.message-header{display:flex;gap:1rem;align-items:center;margin-bottom:.5rem}.user-name{font-weight:600;color:#2c3e50}.user-role{background-color:#3498db;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.user-role.our-trader{background-color:#27ae60;color:#fff}.user-role.counterparty{background-color:#e74c3c;color:#fff}.message-time{color:#7f8c8d;font-size:.8rem;margin-left:auto}.message-content{color:#34495e;line-height:1.5}.extracted-deal{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1rem;display:flex;flex-direction:column;min-height:0}.extracted-deal h2{color:#2c3e50;margin-bottom:1rem;border-bottom:2px solid #ecf0f1;padding-bottom:.5rem;flex-shrink:0}.deal-summary-card{border:1px solid #ecf0f1;border-radius:6px;overflow:hidden;text-decoration:none;color:inherit;display:block}.deal-summary-card.clickable{transition:all .2s ease;cursor:pointer}.deal-summary-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a;border-color:#3498db}.deal-header{background-color:#34495e;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.deal-header h3{margin:0}.deal-id{font-size:.9rem;opacity:.8}.deal-details{padding:1rem}.deal-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f8f9fa}.deal-row:last-child{border-bottom:none}.deal-row .label{font-weight:600;color:#2c3e50}.deal-row .value{color:#34495e}.no-deal-summary{padding:1rem;background-color:#f8f9fa;border-radius:6px;text-align:center;border:1px solid #dee2e6}.no-deal-text{color:#6c757d;font-style:italic}.no-deal-info{padding:2rem;background-color:#f8f9fa;border-radius:6px;text-align:center;border:1px solid #dee2e6}.no-deal-info p{color:#6c757d;margin-bottom:1rem}.no-deal-info p:last-child{margin-bottom:0;font-weight:500}@media (min-width: 1200px){.nav-container,.deal-list,.deal-detail,.chat-list,.chat-detail{max-width:1400px}}@media (max-width: 1199px) and (min-width: 769px){.nav-container{max-width:100%;padding:0 1.5rem}.deal-list,.deal-detail,.chat-list,.chat-detail{max-width:100%}.deal-list-table{font-size:.9rem}.chat-cards-container{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width: 768px){.nav-container{flex-direction:column;gap:1rem;padding:0 1rem;max-width:100%}.nav-links{gap:1rem;flex-wrap:wrap;justify-content:center}.app-main{padding:1rem}.deal-list-table{font-size:.8rem}.deal-list-table th,.deal-list-table td{padding:.5rem .25rem}.deal-list-table .product-badge,.deal-list-table .status-badge{font-size:.7rem;padding:.2rem .4rem}.deal-detail-header{flex-direction:column;gap:1rem;text-align:center}.deal-table th,.deal-table td{padding:.5rem .25rem;font-size:.8rem}.field-label{width:45%;font-size:.8rem}.field-value{width:55%;font-size:.8rem}.chat-cards-container{grid-template-columns:1fr;gap:1rem}.chat-card{padding:1rem}.chat-detail{height:calc(100vh - 120px)}.chat-detail-header{flex-direction:column;gap:1rem;text-align:center;margin-bottom:.5rem;padding:.8rem 1rem}.header-actions{flex-direction:column;width:100%}.chat-detail-content{grid-template-columns:1fr;gap:1rem}.chat-messages,.extracted-deal{padding:.8rem}.deal-summary{flex-direction:column;gap:1rem;align-items:flex-start}.message-header{flex-direction:column;align-items:flex-start;gap:.5rem}.message-time{margin-left:0}.deal-summary-card{margin-bottom:1rem}}@media (max-width: 480px){.app-main{padding:.5rem}.nav-container{padding:0 .5rem}.nav-logo{font-size:1.2rem}.nav-link{padding:.4rem .8rem;font-size:.9rem}.deal-list-table,.deal-table{font-size:.75rem}.deal-list-table th,.deal-list-table td,.deal-table th,.deal-table td{padding:.4rem .2rem;white-space:nowrap}.deal-list-table-container,.deal-table-container{overflow-x:auto}.chat-card{padding:.8rem}.chat-card h3{font-size:1.1rem}.btn{padding:.6rem 1.2rem;font-size:.9rem}.btn-xs{padding:.2rem .4rem;font-size:.7rem}.deal-detail-header h1,.chat-detail-header h1{font-size:1.5rem}.deal-list-header h1,.chat-list-header h1{font-size:2rem}}.message-component{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:10000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.message-component.message-success{border-left:4px solid #27ae60}.message-component.message-error{border-left:4px solid #e74c3c}.message-component.message-warning{border-left:4px solid #f39c12}.message-component.message-info{border-left:4px solid #3498db}.message-header{display:flex;align-items:center;padding:1rem 1rem .5rem;gap:.5rem}.message-icon{font-size:1.2rem;font-weight:700}.message-success .message-icon{color:#27ae60}.message-error .message-icon{color:#e74c3c}.message-warning .message-icon{color:#f39c12}.message-info .message-icon{color:#3498db}.message-title{font-weight:600;color:#2c3e50;flex:1}.message-close{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.message-close:hover{background-color:#ecf0f1;color:#2c3e50}.message-content{padding:0 1rem 1rem;color:#34495e;line-height:1.5}.message-content p{margin:0}@media (max-width: 768px){.message-component{top:10px;right:10px;left:10px;min-width:auto;max-width:none}}.conversation-list{padding:2rem;max-width:1200px;margin:0 auto}.conversation-list-header{margin-bottom:2rem}.conversation-list-header h1{color:#2c3e50;margin-bottom:.5rem}.conversation-list-header p{color:#7f8c8d;font-size:1.1rem}.conversation-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.conversation-table{width:100%;border-collapse:collapse}.conversation-table th{background-color:#f8f9fa;color:#2c3e50;font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid #e9ecef}.conversation-table td{padding:1rem;border-bottom:1px solid #e9ecef;vertical-align:top}.conversation-row:hover{background-color:#f8f9fa}.conversation-id{font-weight:600;color:#3498db;width:80px}.conversation-title{font-weight:500;color:#2c3e50;max-width:200px}.conversation-preview{color:#7f8c8d;font-size:.9rem;max-width:300px;line-height:1.4}.conversation-length{color:#95a5a6;font-size:.9rem;width:100px}.conversation-actions{width:120px}.conversation-actions .btn{padding:.5rem 1rem;font-size:.9rem}.conversation-detail{padding:2rem;max-width:1000px;margin:0 auto}.conversation-detail-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.conversation-detail-header h1{color:#2c3e50;margin:0}.conversation-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.conversation-actions .btn{padding:.75rem 1.5rem;font-weight:600;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;border:none;cursor:pointer;font-size:.95rem;min-width:140px}.conversation-actions .btn:disabled{opacity:.5;cursor:not-allowed}.conversation-actions .btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-save{background-color:#27ae60;color:#fff}.btn-save:hover:not(:disabled){background-color:#229954;transform:translateY(-1px);box-shadow:0 4px 12px #27ae604d}.btn-go{background-color:#3498db;color:#fff}.btn-go:hover:not(.disabled){background-color:#2980b9;transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.btn-back{background-color:#95a5a6;color:#fff}.btn-back:hover{background-color:#7f8c8d;transform:translateY(-1px);box-shadow:0 4px 12px #95a5a64d}.conversation-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.conversation-info{background-color:#f8f9fa;padding:1.5rem;border-bottom:1px solid #e9ecef;display:flex;gap:2rem;flex-wrap:wrap}.info-label{font-size:.9rem;color:#7f8c8d;font-weight:500}.info-value{font-size:1rem;color:#2c3e50;font-weight:600}.status-linked{color:#27ae60!important;font-weight:700}.status-unlinked{color:#e74c3c!important;font-weight:700}.conversation-text{padding:2rem}.conversation-text h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.3rem}.conversation-content-plain{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;font-family:Courier New,monospace;font-size:.95rem;line-height:1.6;color:#2c3e50;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:600px;overflow-y:auto}.conversation-messages{display:flex;flex-direction:column;gap:1.5rem}.conversation-message{background:#f8f9fa;border-radius:8px;padding:1.5rem;border-left:4px solid #3498db}.conversation-message .message-header{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.conversation-message .user-name{font-weight:600;color:#2c3e50;font-size:1.1rem}.conversation-message .user-role{background-color:#3498db;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500}.conversation-message .message-content{color:#34495e;line-height:1.6;white-space:pre-wrap}.loading,.empty-state,.error-message{text-align:center;padding:3rem;color:#7f8c8d}.error-message{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;margin:2rem 0}.error-message p{margin-bottom:1rem}@media (max-width: 768px){.conversation-list,.conversation-detail{padding:1rem}.conversation-table-container{overflow-x:auto}.conversation-table{min-width:600px}.conversation-preview{max-width:200px}.header-content{flex-direction:column;align-items:flex-start}.conversation-actions{width:100%;justify-content:flex-start;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem}.conversation-actions .btn{min-width:auto;flex:1;margin-bottom:0}.conversation-info{flex-direction:column;gap:1rem}.conversation-message .message-header{flex-direction:column;align-items:flex-start;gap:.5rem}.conversation-content-plain{font-size:.85rem;padding:1rem;max-height:400px}}.audio-list-container{max-width:1200px;margin:0 auto;padding:20px;background:#f8f9fa;min-height:100vh}.audio-list-header{text-align:center;margin-bottom:30px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.audio-list-header h1{color:#2c3e50;margin:0 0 10px;font-size:2.5rem;font-weight:700}.audio-list-subtitle{color:#7f8c8d;margin:0;font-size:1.1rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-audios{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.no-audios-icon{font-size:4rem;margin-bottom:20px}.no-audios h3{color:#2c3e50;margin:0 0 10px;font-size:1.5rem}.no-audios p{color:#7f8c8d;margin:0;font-size:1.1rem}.audio-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.audio-table{width:100%;border-collapse:collapse;font-size:.95rem}.audio-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.audio-table th{padding:15px 12px;text-align:left;font-weight:600;color:#495057;border-right:1px solid #dee2e6}.audio-table th:last-child{border-right:none}.audio-row{border-bottom:1px solid #dee2e6;transition:background-color .2s ease}.audio-row:hover{background-color:#f8f9fa}.audio-row:last-child{border-bottom:none}.audio-table td{padding:15px 12px;vertical-align:middle;border-right:1px solid #dee2e6}.audio-table td:last-child{border-right:none}.audio-id{font-weight:600;color:#007bff;width:80px}.audio-participants{min-width:200px;max-width:300px}.participants-preview{font-weight:500;color:#2c3e50;margin-bottom:5px}.participants-full{display:none;background:#f8f9fa;padding:10px;border-radius:6px;margin-top:5px;border:1px solid #dee2e6}.audio-participants:hover .participants-full{display:block}.participant-item{padding:2px 0;font-size:.9rem;color:#6c757d}.audio-date{color:#6c757d;font-size:.9rem;white-space:nowrap;width:180px}.audio-player-cell{width:200px}.audio-player-mini{display:flex;align-items:center}.audio-controls-mini{width:100%;height:32px;outline:none}.audio-controls-mini::-webkit-media-controls-panel{background-color:#f8f9fa}.audio-actions{width:120px;text-align:center}.btn-play{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:5px}.btn-play:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.btn-play:active{transform:translateY(0)}.transcription-cell{min-width:200px;max-width:300px}.transcription-result{display:flex;flex-direction:column;gap:8px}.transcription-preview{background:#f8f9fa;padding:8px;border-radius:4px;font-size:.85rem;color:#495057;border:1px solid #dee2e6;max-height:60px;overflow:hidden;line-height:1.3}.btn-transcribe{background:#17a2b8;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:5px;width:100%;justify-content:center}.btn-transcribe:hover:not(:disabled){background:#138496;transform:translateY(-1px);box-shadow:0 2px 8px #17a2b84d}.btn-transcribe:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.btn-view-transcription{background:#6f42c1;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;justify-content:center}.btn-view-transcription:hover{background:#5a32a3;transform:translateY(-1px);box-shadow:0 2px 6px #6f42c14d}.btn-view-conversation{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;justify-content:center}.btn-view-conversation:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 6px #007bff4d}.btn-view{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-block;text-decoration:none;text-align:center}.btn-view:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 6px #28a7454d;color:#fff;text-decoration:none}.conversation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.conversation-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:800px;width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.conversation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6;background:#f8f9fa}.conversation-modal-header h3{margin:0;color:#2c3e50;font-size:1.5rem}.btn-close{background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.btn-close:hover{background:#e9ecef;color:#495057}.conversation-modal-content{flex:1;overflow-y:auto;padding:20px}.conversation-info{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #dee2e6}.conversation-info p{margin:5px 0;color:#495057}.conversation-text{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.conversation-content-plain{margin:0;padding:20px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;color:#2c3e50;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto}.conversation-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #dee2e6;background:#f8f9fa}.btn-copy{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:5px}.btn-copy:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.btn-close-modal{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-close-modal:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d4d}@media (max-width: 768px){.audio-list-container{padding:15px}.audio-list-header h1{font-size:2rem}.audio-table-container{overflow-x:auto}.audio-table{min-width:800px}.audio-table th,.audio-table td{padding:10px 8px;font-size:.9rem}.audio-participants{min-width:150px;max-width:200px}.audio-player-cell{width:150px}.audio-actions{width:100px}.btn-play{padding:6px 12px;font-size:.8rem}}@media (max-width: 480px){.audio-list-header h1{font-size:1.8rem}.audio-list-subtitle{font-size:1rem}.audio-table{min-width:700px}.audio-table th,.audio-table td{padding:8px 6px;font-size:.85rem}}.generate-speech{padding:2rem;max-width:1000px;margin:0 auto}.speech-header{margin-bottom:2rem;text-align:center}.speech-header h1{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem}.speech-header p{color:#7f8c8d;font-size:1.1rem}.speech-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.speech-controls{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.control-section{margin-bottom:2rem}.control-section:last-child{margin-bottom:0}.control-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.3rem;border-bottom:2px solid #e9ecef;padding-bottom:.5rem}.conversation-selector{margin-bottom:1rem}.conversation-select{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:6px;font-size:1rem;background:#fff;color:#2c3e50;transition:border-color .2s ease}.conversation-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.conversation-preview{background:#f8f9fa;border-radius:6px;padding:1rem;margin-top:1rem}.conversation-preview h4{color:#2c3e50;margin-bottom:.5rem;font-size:1rem}.preview-text{color:#7f8c8d;font-size:.9rem;line-height:1.5;max-height:100px;overflow-y:auto}.voice-controls{display:flex;flex-direction:column;gap:1.5rem}.voice-control{display:flex;flex-direction:column;gap:.5rem}.voice-control label{font-weight:600;color:#2c3e50;font-size:.95rem}.voice-select{padding:.75rem;border:2px solid #e9ecef;border-radius:6px;font-size:.95rem;background:#fff;color:#2c3e50;transition:border-color .2s ease}.voice-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.speed-slider{width:100%;height:6px;border-radius:3px;background:#e9ecef;outline:none}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#3498db;cursor:pointer;box-shadow:0 2px 6px #3498db4d}.speed-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#3498db;cursor:pointer;border:none;box-shadow:0 2px 6px #3498db4d}.btn-generate{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-generate:disabled{opacity:.6;cursor:not-allowed;transform:none}.audio-status{margin-top:.5rem;color:#27ae60;font-size:.9rem;font-weight:500;text-align:center}.audio-player-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem;grid-column:1 / -1}.audio-player-section h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.3rem;border-bottom:2px solid #e9ecef;padding-bottom:.5rem}.audio-player{display:flex;flex-direction:column;gap:1rem}.audio-controls{width:100%;height:50px;border-radius:6px;background:#f8f9fa}.audio-info{display:flex;gap:2rem;color:#7f8c8d;font-size:.9rem}.audio-info p{margin:0;padding:.5rem 1rem;background:#e9ecef;border-radius:4px}@media (max-width: 768px){.generate-speech{padding:1rem}.speech-header h1{font-size:2rem}.speech-content{grid-template-columns:1fr;gap:1.5rem}.speech-controls{padding:1.5rem}.voice-controls{gap:1rem}.audio-info{flex-direction:column;gap:.5rem}}.email-list-container{padding:2rem;max-width:1400px;margin:0 auto}.email-list-header{text-align:center;margin-bottom:2rem}.email-list-subtitle{color:#666;font-size:1.1rem;margin-top:.5rem}.email-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.email-table{width:100%;border-collapse:collapse}.email-table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e9ecef}.email-table td{padding:1rem;border-bottom:1px solid #e9ecef;vertical-align:top}.email-row:hover{background:#f8f9fa}.email-id{font-weight:600;color:#007bff;width:80px}.email-subject{max-width:300px}.subject-preview{font-weight:500;color:#333}.email-participants{max-width:250px}.participants-preview{color:#666;font-size:.9rem}.participants-full{margin-top:.5rem;font-size:.8rem;color:#999}.participant-item{margin-bottom:.25rem}.email-date{color:#666;font-size:.9rem;white-space:nowrap}.email-actions{text-align:center;width:100px}.no-emails{text-align:center;padding:4rem 2rem;color:#666}.no-emails-icon{font-size:4rem;margin-bottom:1rem}.email-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.email-detail-modal{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-width:1000px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.email-detail-modal-header{padding:1.5rem;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.email-detail-modal-header h3{margin:0;color:#333;font-size:1.25rem}.email-detail-modal-content{flex:1;overflow-y:auto;padding:1.5rem}.email-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:6px}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-weight:600;color:#666;font-size:.9rem}.info-value{color:#333;font-size:.95rem}.email-chain{margin-top:1rem}.email-chain h4{margin:0 0 1rem;color:#333;font-size:1.1rem}.email-chain-content{border:1px solid #e9ecef;border-radius:6px;overflow:hidden}.email-item{padding:1.5rem;border-bottom:1px solid #e9ecef}.email-item:last-child{border-bottom:none}.email-item-header{margin-bottom:1rem}.email-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.9rem;color:#666}.email-subject{font-weight:600;color:#333;font-size:1rem}.email-body{margin-top:1rem}.email-content-plain{white-space:pre-wrap;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;color:#333;background:#f8f9fa;padding:1rem;border-radius:4px;border:1px solid #e9ecef;margin:0;overflow-x:auto}.email-separator{margin:1rem 0;border:none;border-top:2px solid #e9ecef}.email-detail-modal-footer{padding:1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.btn-extract-deal{background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-extract-deal:hover:not(:disabled){background:#218838}.btn-extract-deal:disabled{background:#6c757d;cursor:not-allowed}.source{text-align:center;width:100px}.no-source{color:#999;font-style:italic}.btn-info{background:#17a2b8;color:#fff;border:none;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;text-decoration:none;display:inline-block;transition:background-color .2s}.btn-info:hover{background:#138496;color:#fff;text-decoration:none}.btn-email{background:#28a745;color:#fff;border:none;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;text-decoration:none;display:inline-block;transition:background-color .2s}.btn-email:hover{background:#218838;color:#fff;text-decoration:none}.btn-chat{background:#007bff;color:#fff;border:none;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;text-decoration:none;display:inline-block;transition:background-color .2s}.btn-chat:hover{background:#0056b3;color:#fff;text-decoration:none}.record-page{padding:2rem;max-width:800px;margin:0 auto}.record-header{text-align:center;margin-bottom:2rem}.record-header h1{color:#2c3e50;margin-bottom:.5rem}.record-header p{color:#7f8c8d;font-size:1.1rem}.recording-section{text-align:center;margin-bottom:2rem}.recording-controls{margin-bottom:2rem}.btn-record{background:#e74c3c;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #e74c3c4d}.btn-record:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 6px 20px #e74c3c66}.btn-stop{background:#34495e;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #34495e4d}.btn-stop:hover{background:#2c3e50;transform:translateY(-2px);box-shadow:0 6px 20px #34495e66}.recording-active{display:flex;flex-direction:column;align-items:center;gap:1rem}.recording-timer{display:flex;align-items:center;gap:.5rem;background:#ecf0f1;padding:.5rem 1rem;border-radius:20px;font-weight:600;color:#2c3e50}.timer-icon{font-size:1.2rem}.timer-text{font-family:Courier New,monospace;font-size:1.1rem}.audio-preview{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-top:1rem;border:1px solid #e9ecef}.audio-preview h3{margin-bottom:1rem;color:#2c3e50}.audio-preview audio{width:100%;margin-bottom:1rem}.audio-actions{display:flex;gap:1rem;justify-content:center}.form-section{background:#f8f9fa;padding:2rem;border-radius:8px;border:1px solid #e9ecef}.form-section h3{color:#2c3e50;margin-bottom:1rem}.form-section p{color:#7f8c8d;margin-bottom:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#2c3e50;margin-bottom:.5rem}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.audio-review{background:#fff;padding:1rem;border-radius:4px;margin-bottom:1.5rem;border:1px solid #e9ecef}.audio-review h4{margin-bottom:.5rem;color:#2c3e50}.audio-review audio{width:100%}.form-actions{display:flex;gap:1rem;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media (max-width: 768px){.record-page{padding:1rem}.form-grid{grid-template-columns:1fr}.recording-active,.audio-actions,.form-actions{flex-direction:column}.btn-record,.btn-stop{padding:.8rem 1.5rem;font-size:1rem}}.email-detail-page{padding:2rem;max-width:1200px;margin:0 auto}.email-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.email-detail-header h1{margin:0;color:#333}.email-detail-header p{margin:.5rem 0 0;color:#666;font-size:1rem}.header-actions{display:flex;gap:1rem;align-items:center}.email-detail-content{display:flex;flex-direction:column;gap:2rem}.email-actions{text-align:center;padding:2rem 0;border-top:1px solid #e9ecef}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.error-message{text-align:center;padding:4rem 2rem;color:#666}.error-message h2{color:#dc3545;margin-bottom:1rem}.error-message p{margin-bottom:2rem;font-size:1.1rem}@media (max-width: 768px){.email-detail-page{padding:1rem}.email-detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.btn-large{padding:.75rem 1.5rem;font-size:1rem}}@media (max-width: 768px){.email-list-container{padding:1rem}.email-table-container{overflow-x:auto}.email-table{min-width:600px}.email-detail-modal{margin:1rem;max-height:calc(100vh - 2rem)}.email-detail-modal-content{padding:1rem}.email-info{grid-template-columns:1fr;gap:.5rem}.email-meta{flex-direction:column;gap:.5rem}.email-content-plain{font-size:.8rem;padding:.75rem}}.btn-view-deal{background-color:#28a745;color:#fff;border:1px solid #28a745;padding:.375rem .75rem;border-radius:.25rem;text-decoration:none;display:inline-block;font-size:.875rem;font-weight:500;line-height:1.5;text-align:center;cursor:pointer;transition:all .15s ease-in-out}.btn-view-deal:hover{background-color:#218838;border-color:#1e7e34;color:#fff;text-decoration:none}.btn-view-deal:focus{outline:0;box-shadow:0 0 0 .2rem #28a74540}.btn-xs.btn-view-deal{padding:.25rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.2rem}.deal-summary{color:#28a745;font-size:.875rem;line-height:1.4}.deal-summary strong{color:#155724;font-weight:600}.status-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em}.status-badge.new{background-color:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.status-badge.transcribed{background-color:#fff3e0;color:#f57c00;border:1px solid #ffcc02}.status-badge.extracted{background-color:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.audio-loading{color:#666;font-size:.8rem;font-style:italic;padding:.5rem;text-align:center}.audio-error{color:#dc3545;font-size:.8rem;padding:.5rem;text-align:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem}.transcription-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e9ecef}.button-group{display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap}.button-group .btn{flex:1;min-width:120px;max-width:150px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s ease-in-out;text-align:center;white-space:nowrap}.button-group .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.button-group .btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.button-group .btn-copy{background-color:#007bff;color:#fff}.button-group .btn-copy:hover{background-color:#0056b3}.button-group .btn-extract{background-color:#28a745;color:#fff}.button-group .btn-extract:hover{background-color:#1e7e34}.button-group .btn-close-modal{background-color:#6c757d;color:#fff}.button-group .btn-close-modal:hover{background-color:#545b62}@media (max-width: 768px){.button-group{flex-direction:column;gap:.5rem}.button-group .btn{width:100%;max-width:none}}.transcription-preview{font-size:.85rem;color:#666;line-height:1.4;max-height:3.6rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;padding:.25rem 0}.no-transcription{font-size:.85rem;color:#999;font-style:italic;padding:.25rem 0}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;align-items:center}.action-buttons .btn{padding:.4rem .8rem;font-size:.8rem;border-radius:.25rem;border:none;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap;min-width:70px}.action-buttons .btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.action-buttons .btn:active{transform:translateY(0)}.action-buttons .btn-transcribe{background-color:#007bff;color:#fff}.action-buttons .btn-transcribe:hover{background-color:#0056b3}.action-buttons .btn-transcribe:disabled{background-color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.action-buttons .btn-extract{background-color:#28a745;color:#fff}.action-buttons .btn-extract:hover{background-color:#1e7e34}.action-buttons .btn-deal{background-color:#fd7e14;color:#fff}.action-buttons .btn-deal:hover{background-color:#e55a00}.action-buttons .btn-view{background-color:#6c757d;color:#fff}.action-buttons .btn-view:hover{background-color:#545b62}@media (max-width: 768px){.action-buttons{flex-direction:column;gap:.25rem}.action-buttons .btn{width:100%;min-width:auto}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app{min-height:100vh}
