/*
===============================================================================
HEADER · CUT MASTER
Tipo de archivo: CSS
Nombre: viewer.css
Proyecto: Cut Master · Smart Cutting Systems
Módulo: Visualizador orbital 2D/3D
Ruta: modules/viewer/viewer.css
Versión: 1.00
Estado: Producción local / integrado
Fecha: 2026-09-13
Descripción: Estilos del visor orbital inicial y de la vista técnica final.
Dependencias: index.html, modules/viewer/viewer.js
Compatibilidad: Navegadores modernos desktop/móvil.
Autoría: OpenAI + Cut Master
Cambios: Primera versión del módulo visual independiente.
===============================================================================
*/

.viewer-canvas.cm-orbit-active{height:auto!important;min-height:330px!important;background:none!important}
.cm-orbit-viewer{position:relative;border:1px solid #dce5f1;border-radius:16px;background:linear-gradient(180deg,#fbfcfe 0%,#f5f8fc 100%);overflow:hidden;min-height:330px;margin-top:12px}
.cm-orbit-canvas{display:block;width:100%;height:330px;touch-action:none;cursor:grab;outline:none}
.cm-orbit-canvas:active{cursor:grabbing}
.cm-orbit-toolbar{position:absolute;left:12px;right:12px;top:12px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;z-index:2;pointer-events:none}
.cm-orbit-toolbar button,.cm-orbit-toolbar .cm-orbit-chip{pointer-events:auto;border:1px solid #d8e2ef;background:rgba(255,255,255,.94);color:#17324f;border-radius:10px;min-height:36px;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;box-shadow:0 3px 12px rgba(28,59,96,.06)}
.cm-orbit-toolbar button{cursor:pointer}
.cm-orbit-toolbar button:hover{border-color:#9db8d8}
.cm-orbit-toolbar button.active{background:#e9f2ff;border-color:#8db6e9;color:#1559a6}
.cm-orbit-chip{margin-left:auto;font-weight:600!important;color:#5b6f86!important}
.cm-orbit-hint{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;display:flex;justify-content:space-between;gap:12px;align-items:flex-end;pointer-events:none}
.cm-orbit-hint span{background:rgba(255,255,255,.9);border:1px solid rgba(218,227,239,.9);border-radius:9px;padding:6px 9px;color:#62748a;font-size:11px;line-height:1.35}
.cm-orbit-empty{min-height:260px;display:grid;place-items:center;text-align:center;color:#708197;padding:30px}
.cm-orbit-empty b{display:block;color:#243d59;margin-bottom:6px}
.cm-orbit-loading{position:absolute;inset:0;display:grid;place-items:center;background:rgba(248,250,253,.86);z-index:5;font-weight:700;color:#315373}
.cm-orbit-error{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff5f3;color:#8b3528;font-size:12px;border:1px solid #f1d5cf}
.cm-final-viewer{margin-top:18px;border-top:1px solid #e0e7ef;padding-top:18px}
.cm-final-viewer.hidden{display:none!important}
.cm-final-viewer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}
.cm-final-viewer-head h3{margin:0 0 4px;font-size:18px;color:#142f4d}
.cm-final-viewer-head p{margin:0;color:#63758b;font-size:13px;line-height:1.45;max-width:760px}
.cm-final-badges{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 12px}
.cm-final-badges span{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #dce5ef;border-radius:999px;background:#f8fafc;color:#53687e;font-size:11px;font-weight:700}
.cm-final-modebar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.cm-final-modebar button{border:1px solid #d8e2ef;background:#fff;color:#294762;border-radius:10px;min-height:38px;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.cm-final-modebar button.active{background:#e9f2ff;border-color:#8db6e9;color:#1559a6}
.cm-viewer-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;color:#61758a;font-size:11px}
.cm-viewer-legend span{display:inline-flex;align-items:center;gap:6px}
.cm-viewer-legend i{display:inline-block;width:14px;height:3px;border-radius:3px;background:#3978bd}
.cm-viewer-legend span:nth-child(2) i{background:#d18a24}.cm-viewer-legend span:nth-child(3) i{background:#71859b}
.cm-final-disclaimer{margin-top:9px;color:#738397;font-size:11px;line-height:1.45}
@media(max-width:900px){.cm-orbit-canvas{height:290px}.cm-orbit-viewer{min-height:290px}.cm-orbit-chip{display:none}.cm-final-viewer-head{display:block}}
@media(max-width:560px){.cm-orbit-canvas{height:250px}.cm-orbit-viewer{min-height:250px}.cm-orbit-toolbar{left:8px;right:8px;top:8px;gap:5px}.cm-orbit-toolbar button{padding:6px 8px;min-height:34px;font-size:11px}.cm-orbit-hint{left:8px;right:8px;bottom:7px}.cm-orbit-hint span:last-child{display:none}}

/* EOF · modules/viewer/viewer.css */
