:root{--primary-color: #4361ee;--primary-hover: #3a56d4;--secondary-color: #4cc9f0;--dark-color: #2b2d42;--light-color: #f8f9fa;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--border-radius: 8px;--box-shadow: 0 4px 6px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .08);--transition: all .3s ease;--font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Ubuntu, Cantarell, sans-serif}body{font-family:var(--font-family);background:linear-gradient(135deg,#f5f7fa,#e4e8f0);min-height:100vh;margin:0;padding:20px;color:var(--dark-color);line-height:1.6;max-width:100vw;box-sizing:border-box}.consulta-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:30px;padding:0 15px}.consulta-box{background:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:30px;position:relative;overflow:hidden;min-height:38rem}.consulta-box:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}h1{color:var(--primary-color);text-align:center;margin-top:10px;margin-bottom:30px;font-size:clamp(22px,5vw,32px);position:relative;padding-bottom:15px}h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:2px}h2{color:var(--dark-color);font-size:clamp(18px,4vw,22px);margin-bottom:15px;display:flex;align-items:center}h2:before{content:"•";color:var(--primary-color);margin-right:10px;font-size:24px}.tab-selector{display:flex;justify-content:center;margin-bottom:30px;border-radius:var(--border-radius);background-color:#f0f2f5;padding:5px;position:relative;overflow:hidden;flex-wrap:wrap}.tab-btn{padding:12px 25px;border:none;background:transparent;font-size:clamp(14px,3.5vw,16px);font-weight:600;color:var(--dark-color);cursor:pointer;transition:var(--transition);position:relative;z-index:1;border-radius:var(--border-radius);flex:1;min-width:120px;text-align:center}.tab-btn.active{color:#fff}.tab-btn.active:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:var(--border-radius);z-index:-1;animation:fadeIn .3s forwards}.tab-content{display:none;animation:fadeTab .4s forwards}.tab-content.active{display:block}@keyframes fadeTab{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-section{margin-bottom:30px;background-color:#f9fafc;border-radius:var(--border-radius);padding:20px;border:1px solid #e0e4ec}.input-group{display:flex;flex-direction:column;gap:15px}input,textarea{padding:15px;border:2px solid #e0e4ec;border-radius:var(--border-radius);font-size:16px;transition:var(--transition);font-family:var(--font-family);width:100%;box-sizing:border-box}input:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee33}textarea{resize:vertical;min-height:120px}.btn{padding:12px 20px;border:none;border-radius:var(--border-radius);font-size:clamp(14px,3.5vw,16px);font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:100%}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.btn-clear{background-color:#fff;color:var(--dark-color);border:2px solid #e0e4ec;margin-top:15px}.btn-clear:hover{background-color:#f0f2f5;transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.botones{display:flex;justify-content:center;margin-top:20px;width:100%}.info-msg{color:#666;font-size:14px;margin-top:-5px;margin-bottom:10px}.error-msg{background-color:#ffebee;color:var(--error-color);padding:12px;border-radius:var(--border-radius);display:none;margin-bottom:20px;border-left:4px solid var(--error-color);font-size:14px;word-break:break-word}.loading{display:none;text-align:center;color:var(--primary-color);font-weight:600;margin:20px 0;position:relative;padding-left:30px}.loading:before{content:"";position:absolute;left:42%;top:50%;transform:translateY(-50%);width:20px;height:20px;border:3px solid rgba(67,97,238,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.resultados{background:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;margin-top:20px;width:100%}table{width:100%;border-collapse:collapse;font-size:15px}thead{background-color:var(--primary-color);color:#fff}th{padding:15px;text-align:left;font-weight:600}tbody tr{border-bottom:1px solid #e0e4ec;transition:var(--transition)}tbody tr:hover{background-color:#f5f7fa}tbody tr:last-child{border-bottom:none}td{padding:15px}.texto-predefinido{text-align:center;color:#666;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.consulta-box{animation:fadeIn .6s ease forwards}.resultados{animation:fadeIn .6s .2s ease backwards}@media (min-width: 768px){.btn{width:auto}.input-group{align-items:flex-start}.loading:before{left:40%}}@media (max-width: 767px){.consulta-container{padding:0 10px}.consulta-box{padding:20px 15px}.input-section{padding:15px}.tab-btn{padding:10px 15px;font-size:14px}table{display:block;overflow-x:auto;white-space:nowrap;font-size:13px}.loading:before{left:15%}th,td{padding:10px 8px}.resultados{max-width:100%;overflow-x:auto}@media (max-width: 480px){th,td{padding:8px 6px;font-size:12px}.tab-selector{flex-direction:column;gap:5px}.tab-btn{width:100%}}}@media (max-width: 360px){body{padding:10px 5px}.consulta-box{padding:15px 10px}h1{font-size:20px;margin-bottom:20px}h2{font-size:16px}input,textarea{padding:10px;font-size:14px}.btn{padding:10px 15px;font-size:14px}}.file-upload-area{margin-bottom:20px}.file-drop-zone{border:2px dashed #e0e4ec;border-radius:var(--border-radius);padding:40px 20px;text-align:center;background-color:#fafbfc;transition:var(--transition);cursor:pointer}.file-drop-zone:hover,.file-drop-zone.drag-over{border-color:var(--primary-color);background-color:#4361ee0d}.file-drop-content{display:flex;flex-direction:column;align-items:center;gap:10px}.file-icon{font-size:48px;opacity:.6}.file-drop-content p{margin:0;color:var(--dark-color);font-size:16px}.file-drop-content small{color:#666;font-size:14px}.link-btn{background:none;border:none;color:var(--primary-color);text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.link-btn:hover{color:var(--primary-hover)}.file-info{display:none;align-items:center;justify-content:space-between;padding:15px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:var(--border-radius);margin-bottom:15px}.file-info span{color:var(--dark-color);font-weight:500}.btn-remove{background-color:var(--error-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:var(--transition)}.btn-remove:hover{background-color:#d32f2f;transform:scale(1.1)}.excel-options{display:flex;flex-direction:column;gap:15px;margin-bottom:20px;padding:15px;background-color:#f0f2f5;border-radius:var(--border-radius)}.excel-options label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--dark-color)}.excel-options input[type=checkbox]{width:auto;margin:0}.excel-options select{padding:8px 12px;border:1px solid #e0e4ec;border-radius:var(--border-radius);font-size:14px;background-color:#fff;margin-left:10px}.btn-success{background-color:var(--success-color);color:#fff;margin-left:10px}.btn-success:hover{background-color:#45a049;transform:translateY(-2px)}@media (max-width: 767px){.file-drop-zone{padding:30px 15px}.file-icon{font-size:36px}.file-drop-content p{font-size:14px}.excel-options{padding:12px}.excel-options label{font-size:13px}.file-info{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width: 480px){.file-drop-zone{padding:20px 10px}.file-icon{font-size:32px}.file-drop-content p{font-size:13px}.excel-options{gap:10px}}html,body{margin:0;width:100%;height:100%}
