.asesor-mate-container{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column}.asesor-mate-header{background:white;border-radius:16px;padding:20px 30px;margin-bottom:20px;box-shadow:0 4px 6px rgba(0,0,0,.1);display:flex;align-items:center;gap:20px;flex-shrink:0}.btn-back-header{background:#f3f4f6;border:none;padding:10px 20px;border-radius:8px;font-size:16px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s}.btn-back-header:hover{background:#e5e7eb;transform:translateX(-2px)}.asesor-mate-title{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;color:#1f2937;margin:0;flex:1 1}.document-name{font-size:14px;color:#6b7280;font-style:italic;margin:0}.asesor-mate-content{display:flex;gap:20px;flex:1 1;min-height:0;max-height:100%;overflow:hidden}.index-panel{flex:0 0 25%;background:white;border-radius:16px;padding:24px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow-y:auto;overflow-x:hidden;height:100%}.index-title{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 20px;padding-bottom:12px;border-bottom:3px solid #667eea}.index-list{display:flex;flex-direction:column;gap:8px}.index-item-container{margin-bottom:4px}.index-item{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border-radius:10px;cursor:pointer;transition:all .2s;border:2px solid transparent;font-size:16px;font-weight:500;color:#374151}.index-item:hover{background:#f3f4f6;border-color:#667eea;transform:translateX(4px)}.index-item.selected{background:#eef2ff;border-color:#667eea;color:#667eea;font-weight:600}.expand-btn{background:none;border:none;padding:0;cursor:pointer;color:#6b7280;display:flex;align-items:center;transition:transform .2s}.expand-btn:hover{color:#667eea}.topic-title{flex:1 1;line-height:1.5}.subtemas-list{margin-left:24px;margin-top:8px;display:flex;flex-direction:column;gap:6px}.subtema-item{padding:10px 14px;background:#ffffff;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid #e5e7eb;font-size:15px;color:#4b5563}.subtema-item:hover{background:#f9fafb;border-color:#a5b4fc;transform:translateX(4px)}.subtema-item.selected{background:#e0e7ff;border-color:#818cf8;color:#4f46e5;font-weight:600}.subtema-title{line-height:1.4}.explanation-panel{flex:1 1;display:flex;flex-direction:column;background:white;border-radius:16px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;min-height:0;max-height:100%}.explanation-scroll-content{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:32px;scroll-behavior:smooth;line-height:1.8;animation:fadeIn .3s ease-in;min-height:0;max-height:100%}.chat-section{z-index:10}.explanation-content{flex:0 1 auto;padding:32px;overflow-y:auto;max-height:60vh;scroll-behavior:smooth;line-height:1.8}.explanation-title-asesor{font-size:26px;font-weight:700;color:#1f2937;margin:0 0 24px;padding-bottom:16px;border-bottom:3px solid #667eea}.explanation-text{font-size:18px;color:#374151;line-height:1.8}.placeholder-text{color:#6b7280;font-style:italic;font-size:16px}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6b7280}.welcome-icon{color:#667eea;margin-bottom:24px;opacity:.6}.welcome-message h2{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 12px}.welcome-message p{font-size:18px;margin:8px 0}.welcome-subtitle{color:#9ca3af;font-size:16px;margin-top:16px}.chat-section{flex-shrink:0;border-top:2px solid #e5e7eb;padding:20px 32px;background:#f9fafb;position:-webkit-sticky;position:sticky;bottom:0;z-index:20;min-height:72px}.chat-input-container{padding:1rem;background:white;border-top:1px solid #e2e8f0;width:90%}.input-wrapper{display:flex;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem;width:100%}.chat-input{flex:1 1;padding:16px;border:2px solid #d1d5db;border-radius:12px;font-size:16px;font-family:inherit;resize:none;transition:all .2s;background:white}.chat-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.chat-input::placeholder{color:#9ca3af}.btn-send{background:#667eea;color:white;border:none;padding:16px 20px;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:60px}.btn-send:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 8px rgba(102,126,234,.3)}.btn-send:disabled{background:#d1d5db;cursor:not-allowed}.chat-tools{flex:0 0 auto;padding:.5rem 1rem;display:flex;gap:1rem;justify-content:center;border-top:1px solid #e2e8f0;background:#f8fafc;width:100%;min-height:auto}.tool-btn{display:flex;align-items:center;gap:3px;padding:1px 10px;background:white;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:400;color:#374151}.tool-btn:hover{background:#f3f4f6;border-color:#667eea;color:#667eea;transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:16px;padding:32px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.latex-modal h3{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 20px}.btn-close-modal{background:#667eea;color:white;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;transition:all .2s}.btn-close-modal:hover{background:#5568d3;transform:translateY(-2px)}.error-container,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;color:white;text-align:center}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-container p{font-size:18px;font-weight:500}.error-message{font-size:18px;background:rgba(239,68,68,.9);padding:16px 24px;border-radius:12px;margin-bottom:20px}.btn-back{background:white;color:#667eea;border:none;padding:12px 24px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-back:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}@media (max-width:1024px){.asesor-mate-content{flex-direction:column;height:auto}.explanation-panel,.index-panel{width:100%}.index-panel{max-height:300px}}@media (max-width:768px){.asesor-mate-header{flex-direction:column;align-items:flex-start;gap:12px}.asesor-mate-title{font-size:24px}.explanation-content{padding:20px}.chat-section{padding:16px 20px}}.content-badge{display:inline-block;padding:6px 12px;background:#eef2ff;color:#667eea;border-radius:6px;font-size:14px;font-weight:600;margin-bottom:20px}.math-content-wrapper{line-height:2}.math-paragraph{font-size:18px;color:#374151;margin-bottom:24px;line-height:2;text-align:justify;display:block}.math-paragraph:last-child{margin-bottom:0}.math-block-container{background:#f0f9ff;border-left:4px solid #667eea;padding:24px;margin:32px 0;border-radius:12px;overflow-x:auto;display:flex;justify-content:center;align-items:center}.math-block-container .katex-display{margin:0}.math-block-container .katex{font-size:1.4em}.math-inline-container{background:#fef3c7;padding:2px 6px;border-radius:4px;margin:0 2px;display:inline-block}.math-inline-container .katex{font-size:1.1em}.math-paragraph strong{color:#1f2937;font-weight:700}.math-paragraph em{color:#4b5563;font-style:italic}.loading-math{display:flex;align-items:center;justify-content:center;padding:40px;color:#6b7280;font-style:italic}.math-block-container::-webkit-scrollbar{height:8px}.math-block-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.math-block-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.math-block-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.katex{font-size:1.2em}.katex-display{margin:1.5em 0}@media (max-width:768px){.math-paragraph{font-size:16px}.math-block-container{padding:16px;margin:20px 0}.math-block-container .katex{font-size:1.2em}.math-inline-container .katex{font-size:1em}}.explanation-text{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.math-paragraph-container{margin-bottom:24px}.math-list-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px;transition:all .2s}.math-list-item:hover{background:#f3f4f6;transform:translateX(4px)}.list-number{font-size:20px;font-weight:700;color:#667eea;min-width:32px;flex-shrink:0}.list-content{flex:1 1;font-size:18px;line-height:1.8;color:#374151}.math-list-item .math-inline-container{background:#fef3c7;padding:4px 8px;border-radius:6px;margin:0 4px;display:inline-flex;align-items:center}.math-list-item .math-inline-container .katex{font-size:1.3em}.math-paragraph-container .math-paragraph{margin-bottom:12px}.math-paragraph-container .math-paragraph:last-child{margin-bottom:0}@media (max-width:768px){.math-list-item{flex-direction:column;gap:8px}.list-number{font-size:18px}.list-content{font-size:16px}}.generate-plan-section{padding:16px;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:12px;margin-bottom:16px;text-align:center}.btn-generate-plan{width:100%;padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s;box-shadow:0 4px 12px rgba(102,126,234,.3)}.btn-generate-plan:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.btn-generate-plan:active:not(:disabled){transform:translateY(0)}.btn-generate-plan:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-generate-plan .spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.plan-warning{margin:10px 0 0;font-size:12px;color:#dc2626;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px}@media (max-width:768px){.generate-plan-section{padding:12px}.btn-generate-plan{padding:12px 16px;font-size:14px}.btn-generate-plan span{display:none}}.chat-history-section{margin-top:3rem;padding-top:2rem;border-top:3px solid #e5e7eb}.chat-history-title{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.chat-history-messages{display:flex;flex-direction:column;gap:1.5rem}.history-message{padding:1.5rem;border-radius:12px;border:2px solid #e5e7eb;background:#ffffff;transition:all .2s}.history-message:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}.history-message.student{background:#dbeafe;border-color:#93c5fd}.history-message.myprofe{background:#f0fdf4;border-color:#86efac}.history-message-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-size:14px;font-weight:600;color:#374151}.history-message.student .history-message-header{color:#1e40af}.history-message.myprofe .history-message-header{color:#15803d}.history-message-time{font-size:12px;font-weight:400;opacity:.7}.history-message-content{font-size:16px;line-height:1.8;color:#1f2937}.history-message.student .history-message-content{color:#1e40af}.history-message.myprofe .history-message-content{color:#15803d}.history-message.thinking{background:#f0f9ff;border-color:#bae6fd;animation:pulse 1.5s ease-in-out infinite}.history-message.thinking .history-message-content{display:flex;align-items:center;gap:.5rem;color:#0369a1;font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.thinking-dots{display:inline-flex;gap:4px}.thinking-dots span{width:6px;height:6px;background:#0369a1;border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.thinking-dots span:first-child{animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}body:has(.asesor-mate-container){overflow:hidden;height:100vh;max-height:100vh}