.viewer3d-wrapper{position:relative;width:100%;height:100%;background:linear-gradient(to bottom,#e8f0ff,#fff);border-radius:4px;overflow:hidden}.loading-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#acf2e8;color:#5c5656;padding:20px 30px;border-radius:8px;font-size:1.1rem;text-align:center;z-index:100;pointer-events:none}.viewer-info{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#acf2e8;color:#5c5656;padding:8px 16px;border-radius:6px;font-size:.85rem;pointer-events:none;z-index:10}.viewer-info p{margin:0;white-space:nowrap;font-size:1.1rem;font-weight:700}@media(max-width:768px){.viewer-info{padding:6px 12px;font-size:.7rem;bottom:5px}.viewer-info p{font-size:.75rem;font-weight:500}}@media(max-width:480px){.viewer-info{padding:4px 8px;font-size:.65rem}.viewer-info p{font-size:.65rem}}.app-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:#f5e4d5;padding:10px 20px 0;gap:10px;position:relative;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.header{display:flex;justify-content:space-between;align-items:center;padding:5px 20px;background:transparent;min-height:120px}.header-left,.header-right{flex:0 0 450px;display:flex;align-items:center;justify-content:center}.header-center{flex:1;display:flex;justify-content:center;align-items:center}.logo-feder{max-height:120px;max-width:700px;width:auto;height:auto;object-fit:contain}.logo-proyecto-header{max-height:100px;max-width:400px;width:auto;height:auto;object-fit:contain}.logo-ibv{max-height:60px;max-width:200px;object-fit:contain}.title{text-align:center;color:#2c5aa0;font-size:1.8rem;font-weight:700;margin:0;padding:10px}.footer{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:transparent;min-height:60px;position:static;z-index:5;margin-top:10px}.footer-left{display:flex;align-items:center;gap:15px;padding-top:0;pointer-events:auto}.logo-feder-footer{max-height:80px;max-width:500px;width:auto;height:auto;object-fit:contain}.logo-proyecto{max-height:120px;max-width:400px;width:auto;height:auto;object-fit:contain;margin-bottom:0;margin-top:-60px}.footer-text{font-size:2rem;font-weight:700;color:#e85d75;letter-spacing:2px}.footer-right{display:flex;align-items:center;padding-top:0;margin-top:0;pointer-events:auto}.footer-ref{font-size:1.2rem;color:#666;font-weight:500}.viewer-container{flex:1;display:flex;flex-direction:column;background:#efefef;border:1px solid #5C5656;border-radius:10px;padding:10px;position:relative;overflow:hidden;min-height:0;width:100%;box-sizing:border-box}.controls-container{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;position:relative;z-index:10}.control-panel{background:#fff;border:3px solid #50B3A5;border-radius:8px;padding:15px 30px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:200px;position:relative;z-index:10}.control-panel h3{color:#2c5aa0;font-size:1rem;margin:0;font-weight:700}.viewpoint-buttons{display:flex;gap:12px}.viewpoint-btn{background:#50b3a5!important;border:2px solid #50B3A5!important;border-radius:8px;padding:10px 20px;color:#fff!important;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:55px}.viewpoint-btn:hover{background:#fff!important;color:#50b3a5!important;border:2px solid #50B3A5!important}.navigation-panel{flex-direction:column;padding:15px 20px;gap:12px;justify-content:center;min-height:100px}.nav-link-text{color:#5c5656;font-size:1.2rem;font-weight:500;text-decoration:underline;cursor:pointer;transition:all .3s ease;text-align:center;padding:8px 0}.nav-link-text:hover{color:#50b3a5}.nav-link-text.active{font-weight:700}.nav-btn{background:#50b3a5;border:2px solid #50B3A5;border-radius:8px;padding:12px 20px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-align:center}.nav-btn:hover{background:#fff;color:#50b3a5}.control-panel.tasks-panel{flex-direction:row!important;padding:15px 40px;gap:45px;align-items:center;justify-content:center}.tasks-panel .task-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:120px}.tasks-panel .task-column h3{margin:0;white-space:nowrap;text-align:center}.tasks-panel .task-divider{width:3px;height:85px;background-color:#50b3a5;flex-shrink:0}.tasks-panel .task-buttons-row{display:flex;gap:12px}.tasks-panel .p-btn{background:#50b3a5!important;border:2px solid #50B3A5!important;border-radius:8px;padding:10px 25px;color:#fff!important;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:70px}.tasks-panel .p-btn:hover{background:#fff!important;color:#50b3a5!important;border:2px solid #50B3A5!important}.checkbox-label{display:flex;align-items:center;gap:5px;cursor:pointer;position:relative;z-index:20;pointer-events:auto}.checkbox-text{font-size:1rem;color:#50b3a5;font-weight:500;-webkit-user-select:none;user-select:none;pointer-events:none}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px;position:relative;z-index:20;pointer-events:auto}@media(max-width:1400px){.logo-feder-footer{max-height:70px;max-width:450px}.footer-ref{font-size:1.1rem}}@media(max-width:1200px){.logo-feder-footer{max-height:60px;max-width:400px}.footer-ref{font-size:1rem}.footer{margin-top:15px}}@media(max-width:1024px){.header{padding:5px 10px;min-height:100px;flex-wrap:wrap}.header-left,.header-right{flex:0 0 300px}.logo-feder{max-height:90px;max-width:300px}.logo-ibv{max-height:70px;max-width:200px}.title{font-size:1.5rem}.controls-container{flex-direction:column;gap:10px}.control-panel{min-width:100%;padding:12px 20px}.control-panel.tasks-panel{padding:12px 20px;gap:25px}.logo-proyecto-header{max-height:80px;max-width:300px}.logo-feder-footer{max-height:60px;max-width:350px}.footer{padding:10px 15px}}@media(max-width:768px){.app-container{padding:5px;gap:5px}.header{flex-direction:column;min-height:auto;padding:10px 5px;gap:10px;width:100%}.header-left,.header-center,.header-right{flex:0 0 auto;width:100%;order:0;display:flex;justify-content:center;align-items:center}.header-left{order:1}.header-center{order:2}.header-right{order:3;min-height:55px}.logo-feder{max-height:65px;max-width:95%;display:block;margin:0 auto}.logo-ibv{max-height:55px;max-width:160px;display:block;margin:0 auto}.title{font-size:1.3rem;padding:8px 10px;text-align:center;width:100%;display:block}.viewer-container{border-radius:5px;padding:5px;min-height:400px;flex:1 1 auto}.controls-container{gap:8px;flex:0 0 auto}.control-panel{padding:10px 15px}.control-panel h3{font-size:.9rem}.viewpoint-btn{padding:8px 15px;font-size:1rem;min-width:45px}.nav-link-text{font-size:1rem}.control-panel.tasks-panel{flex-direction:column!important;padding:12px 15px;gap:15px}.tasks-panel .task-divider{width:100%;height:2px}.checkbox-text{font-size:.9rem}.logo-proyecto-header{max-height:70px;max-width:250px}.logo-feder-footer{max-height:50px;max-width:300px}.footer{flex-direction:column;align-items:center;gap:10px;padding:10px 5px;margin-top:5px}.footer-left,.footer-right{width:100%;justify-content:center;align-items:center}.footer-ref{font-size:1rem;text-align:center}}@media(max-width:480px){.app-container{padding:3px;gap:3px}.header{padding:8px 3px;gap:8px}.header-left,.header-center,.header-right{flex:0 0 auto;width:100%;display:flex;justify-content:center;align-items:center}.header-left{order:1}.header-center{order:2}.header-right{order:3;min-height:50px}.logo-feder{max-height:55px;max-width:95%;display:block;margin:0 auto}.logo-ibv{max-height:48px;max-width:140px;display:block;margin:0 auto}.title{font-size:1.1rem;padding:6px 8px;text-align:center;width:100%;display:block}.viewer-container{min-height:350px}.control-panel{padding:8px 10px;min-width:100%}.control-panel h3{font-size:.85rem}.viewpoint-buttons{gap:8px}.viewpoint-btn{padding:6px 12px;font-size:.9rem;min-width:40px}.nav-link-text{font-size:.9rem}.checkbox-text{font-size:.85rem}.logo-proyecto{max-height:60px;max-width:200px}.footer-ref{font-size:.9rem}}@media(max-height:600px)and (orientation:landscape){.header{min-height:auto;padding:5px}.logo-feder,.logo-ibv{max-height:40px}.title{font-size:1rem;padding:2px}.control-panel{padding:5px 10px}.footer{padding:5px;margin-top:5px}.logo-proyecto{max-height:50px}.footer-ref{font-size:.85rem}}.banyera-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:#f5e4d5;padding:20px;gap:15px}.banyera-container .title{text-align:center;color:#5c5656;font-size:2rem;font-weight:700;margin:0;padding:10px}.banyera-container .viewer-container{flex:1;display:flex;flex-direction:column;background:#efefef;border:1px solid #5C5656;border-radius:10px;padding:10px;position:relative;overflow:hidden}.banyera-container .controls-container{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.banyera-container .control-panel{background:#fff;border:3px solid #50B3A5;border-radius:8px;padding:15px 30px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:200px}.banyera-container .control-panel h3{color:#50b3a5;font-size:1rem;margin:0;font-weight:700}.banyera-container .viewpoint-buttons{display:flex;gap:12px;flex-wrap:wrap}.banyera-container .viewpoint-btn{background:#50b3a5!important;border:2px solid #50B3A5!important;border-radius:8px;padding:10px 20px;color:#fff!important;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease}.banyera-container .viewpoint-btn:hover{background:#fff!important;color:#50b3a5!important;border:2px solid #50B3A5!important}.banyera-container .navigation-panel{flex-direction:column;padding:15px 20px;gap:12px;justify-content:center;min-height:100px}.banyera-container .navigation-links{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap}.banyera-container .nav-link-text{color:#50b3a5;font-size:1rem;font-weight:600;transition:all .3s ease;padding:8px 12px;border-radius:5px}.banyera-container .nav-link-text:hover{text-decoration:none}.banyera-container .nav-link-text.active{color:#5c5656}.banyera-container .nav-link-text.active-green{color:#50b3a5!important;text-decoration:underline}.banyera-container .nav-link-text.active-brown{color:#5c5656!important;text-decoration:underline}.banyera-container .nav-btn{background:#50b3a5;border:2px solid #50B3A5;border-radius:8px;padding:12px 20px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-align:center}.banyera-container .nav-btn:hover{background:#fff;color:#2c5aa0}.banyera-container .nav-btn.active{background:#fff;color:#50b3a5}@media(max-width:1024px){.banyera-container{padding:10px}.banyera-container .controls-container{flex-direction:column}}.app-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:#f5e4d5;padding:20px;gap:15px}.title{text-align:center;color:#5c5656;font-size:2rem;font-weight:700;margin:0;padding:10px}.viewer-container{flex:1;display:flex;flex-direction:column;background:#efefef;border:1px solid #5C5656;border-radius:10px;padding:10px;position:relative;overflow:hidden}.controls-container{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.control-panel{background:#fff;border:3px solid #50B3A5;border-radius:8px;padding:15px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}.control-panel h3{color:#50b3a5;font-size:1.2rem;margin-bottom:5px}.control-btn{background:#fff;border:2px solid #50B3A5;border-radius:8px;padding:15px 25px;color:#333;font-size:1rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.control-btn:hover{background:#50b3a5;color:#fff}.viewpoint-buttons{display:flex;gap:10px}.viewpoint-btn{background:#fff;border:2px solid #50B3A5;border-radius:8px;padding:10px 20px;color:#50b3a5;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:50px}.viewpoint-btn:hover{background:#50b3a5;color:#fff}.task-buttons{display:flex;gap:15px}.task-column{display:flex;flex-direction:column;gap:8px}.task-btn{background:#fff;border:2px solid #50B3A5;border-radius:8px;padding:10px 20px;color:#333;font-size:1rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.task-btn:hover{background:#e8f0ff}.p-btn{background:#fff;border:2px solid #50B3A5;border-radius:8px;padding:8px 15px;color:#50b3a5;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease}.p-btn:hover{background:#50b3a5;color:#fff}@media(max-width:1024px){.app-container{padding:10px}.controls-container{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;background:#f7e3d0!important}#root{width:100vw;height:100vh}
