:root{--scale: 2;--bg-panel: #f39c12;--color-face: #ecf0f1;--color-side: #95a5a6;--ui-bg: #f8f9fa;--ui-border: #dee2e6}body{font-family:Segoe UI,sans-serif;margin:0;overflow:hidden;height:100vh;background-color:#2c3e50;color:#333;display:flex;-webkit-user-select:none;user-select:none}#sidebar-left{width:260px;min-width:260px;max-width:260px;flex-shrink:0;background:var(--ui-bg);border-right:1px solid var(--ui-border);z-index:20;box-shadow:2px 0 10px #0000001a;box-sizing:border-box;overflow:hidden}#sidebar-left *{box-sizing:border-box}#sidebar-header{padding:16px;border-bottom:1px solid var(--ui-border);flex-shrink:0}#sidebar-header h3{margin:0 0 16px}#sidebar-header #search-component{width:100%;padding:8px 12px;border:1px solid var(--button-border);border-radius:8px;font-size:14px;background:var(--button-bg);color:var(--text-color);transition:border-color .2s}#sidebar-header #search-component:focus{border-color:var(--button-primary)}#sidebar-content{flex:1;overflow-y:auto;padding:16px}#sidebar-right{width:320px;background:var(--ui-bg);padding:15px;border-left:1px solid var(--ui-border);z-index:20;display:flex;flex-direction:column;gap:15px;box-shadow:-2px 0 10px #0000001a;overflow-y:auto;box-sizing:border-box}h3{margin:0 0 8px;font-size:13px;color:var(--text-color, #2c3e50);border-bottom:2px solid #e9ecef;padding-bottom:5px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.dark h3{color:var(--text-color);border-bottom-color:var(--sidebar-border, #334155)}h4{margin:0 0 8px;font-size:13px;color:var(--text-color);font-weight:600}.dark h4{color:var(--text-color)}#workspace{flex:1;position:relative;overflow:hidden;background-image:radial-gradient(#34495e 1px,transparent 1px);background-size:30px 30px;cursor:crosshair;perspective:4000px}#scene-container{position:absolute;top:50%;left:50%;width:0;height:0;transform-style:preserve-3d}#mounting-plate{position:absolute;top:0;left:0;transform:translate(-50%,-50%);background-color:var(--bg-panel);border:4px solid #d35400;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px;transform-style:preserve-3d;box-shadow:0 0 100px #00000080;transition:width .3s,height .3s}.plate-back-cover{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#d35400;transform:translateZ(-1px) rotateY(180deg);pointer-events:none}.dim-line{position:absolute;background:#333;color:#fff;padding:2px 6px;font-size:18px;border-radius:3px;pointer-events:none;white-space:nowrap}.dim-w{top:-40px;left:50%;transform:translate(-50%)}.dim-h{left:-65px;top:50%;transform:translateY(-50%) rotate(-90deg)}#selection-box{position:absolute;border:2px dashed #3498db;background:#3498db1a;pointer-events:none;z-index:1000;transform:translateZ(0)}.msg-empty{font-size:12px;color:#999;text-align:center;font-style:italic;padding:20px 0}.alignment-guide{position:absolute;background-color:#3498db;z-index:2000;pointer-events:none;display:none;box-shadow:0 0 2px #ffffff80}#app-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:#2c3e50;display:flex;align-items:center;justify-content:center;z-index:99998;opacity:1;transition:opacity .3s ease-out;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app-loader-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.app-loader-spinner{width:60px;height:60px;border:4px solid rgba(211,84,0,.1);border-top:4px solid var(--button-primary, #d35400);border-radius:50%;animation:appLoaderSpin 1s linear infinite}@keyframes appLoaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-loader-content p{margin:0;font-size:1.125rem;font-weight:500;color:#fff;letter-spacing:.5px}.dark #app-loader{background:#2c3e50}.dark .app-loader-spinner{border-color:#d354001a;border-top-color:var(--button-primary, #d35400)}.dark .app-loader-content p{color:#fff}@media(max-width:640px){.app-loader-spinner{width:50px;height:50px;border-width:3px}.app-loader-content p{font-size:1rem}}@media(prefers-reduced-motion:reduce){.app-loader-spinner{animation:none;border-top-color:var(--button-primary, #d35400)}}.component-root.type-disjuntor .face{border-color:#95a5a6}.component-root.type-disjuntor.orientation-vertical .face.front,.component-root.type-disjuntor.orientation-horizontal .face.front{background:#ecf0f1}.component-root.type-disj-cxa-moldada .face{border-color:#95a5a6}.component-root.type-disj-cxa-moldada.orientation-vertical .face.front{background:#ecf0f1;position:relative}.component-root.type-disj-cxa-moldada.orientation-vertical .face.front:after{content:"";position:absolute;width:24%;height:14%;background:#333;left:38%;bottom:8%}.component-root.type-disj-cxa-moldada.orientation-horizontal .face.front{background:#ecf0f1;position:relative}.component-root.type-disj-cxa-moldada.orientation-horizontal .face.front:after{content:"";position:absolute;width:21%;height:16%;background:#333;right:8%;top:39.5%}.component-root.type-disj-motor-2p .face{border-color:#95a5a6}.component-root.type-disj-motor-2p.orientation-vertical .face.front{background:#ecf0f1;position:relative}.component-root.type-disj-motor-2p.orientation-vertical .face.front:after{content:"";position:absolute;width:20px;height:20px;background:#333;border-radius:50%;left:50%;bottom:12px;transform:translate(-50%)}.component-root.type-disj-motor-2p.orientation-horizontal .face.front{background:#ecf0f1;position:relative}.component-root.type-disj-motor-2p.orientation-horizontal .face.front:after{content:"";position:absolute;width:20px;height:20px;background:#333;border-radius:50%;right:12px;top:50%;transform:translateY(-50%)}.component-root.type-disj-motor-3p .face{border-color:#95a5a6}.component-root.type-disj-motor-3p.orientation-vertical .face.front{background:#ecf0f1;position:relative}.component-root.type-disj-motor-3p.orientation-vertical .face.front:after{content:"";position:absolute;width:20px;height:20px;background:#333;border-radius:50%;left:50%;bottom:12px;transform:translate(-50%)}.component-root.type-disj-motor-3p.orientation-horizontal .face.front{background:#ecf0f1;position:relative}.component-root.type-disj-motor-3p.orientation-horizontal .face.front:after{content:"";position:absolute;width:20px;height:20px;background:#333;border-radius:50%;right:12px;top:50%;transform:translateY(-50%)}.component-root.type-rele-termico .face{border-color:#3498db}.component-root.type-rele-termico.orientation-vertical .face.front{background:#ecf0f1;position:relative}.component-root.type-rele-termico.orientation-vertical .face.front:after{content:"";position:absolute;width:30px;height:30px;background:#3498db;right:10px;top:10px}.component-root.type-rele-termico.orientation-horizontal .face.front{background:#ecf0f1;position:relative}.component-root.type-rele-termico.orientation-horizontal .face.front:after{content:"";position:absolute;width:30px;height:30px;background:#3498db;right:10px;top:10px}.component-root.type-chave-seccionadora-fusivel .face{border-color:#7f8c8d}.component-root.type-chave-seccionadora-fusivel.orientation-vertical .face.front{background:#ecf0f1;position:relative}.component-root.type-chave-seccionadora-fusivel.orientation-vertical .face.front:before{content:"";position:absolute;left:33.33%;top:7.5%;width:2px;height:85%;background:#7f8c8d;transform:translate(-50%)}.component-root.type-chave-seccionadora-fusivel.orientation-vertical .face.front:after{content:"";position:absolute;left:66.66%;top:7.5%;width:2px;height:85%;background:#7f8c8d;transform:translate(-50%)}.component-root.type-chave-seccionadora-fusivel.orientation-horizontal .face.front{background:#ecf0f1;position:relative}.component-root.type-chave-seccionadora-fusivel.orientation-horizontal .face.front:before{content:"";position:absolute;left:7.5%;top:33.33%;width:85%;height:2px;background:#7f8c8d;transform:translateY(-50%)}.component-root.type-chave-seccionadora-fusivel.orientation-horizontal .face.front:after{content:"";position:absolute;left:7.5%;top:66.66%;width:85%;height:2px;background:#7f8c8d;transform:translateY(-50%)}.component-root.type-contator-potencia .face{border-color:#95a5a6}.component-root.type-contator-potencia .face.front{align-items:flex-start;padding-top:8px;font-size:11px;font-weight:600}.component-root.type-contator-potencia.orientation-vertical .face.front{background:linear-gradient(to bottom,#ecf0f1,#ecf0f1 35%,#333 35%,#333 75%,#ecf0f1 75%,#ecf0f1)}.component-root.type-contator-potencia.orientation-horizontal .face.front{background:linear-gradient(to right,#ecf0f1,#ecf0f1 35%,#333 35%,#333 75%,#ecf0f1 75%,#ecf0f1);justify-content:flex-start;align-items:flex-start;padding-left:12px;padding-top:8px;position:relative;overflow:visible!important}.component-root.type-contator-potencia.orientation-horizontal .contator-label{position:absolute;left:17px;top:50%;transform:rotate(-90deg) translate(-50%);transform-origin:top left;white-space:nowrap;font-size:10px}.component-root.type-dps .face{background:#e74c3c;border-color:#c0392b}.component-root.type-dps.orientation-vertical .face.front,.component-root.type-dps.orientation-horizontal .face.front{background:#e74c3c}.component-root.type-dr .face{border-color:#95a5a6}.component-root.type-dr.orientation-vertical .face.front{background:linear-gradient(to right,#333 30%,#ecf0f1 30%)}.component-root.type-dr.orientation-horizontal .face.front{background:linear-gradient(to top,#333 30%,#ecf0f1 30%)}.component-root.type-trilho .face{background:#f1c40f;border-color:#d4ac0d}.component-root.type-canaleta .face{background:#bdc3c7;border-color:#95a5a6}.component-root.type-barra-terra-neutra .face{background:linear-gradient(135deg,#d4af37,#b8960c,#d4af37);border-color:#b8960c}.component-root.type-sak25 .face{background:linear-gradient(135deg,#fef9e7,#f9e79f,#fef9e7);border-color:#f4d03f}.type-sak25 .terminal-point{width:10px;height:10px;z-index:10}.type-sak25 .terminal-point.top{top:8px;left:50%;transform:translate(-50%) translateZ(1px)}.type-sak25 .terminal-point.bottom{bottom:8px;left:50%;transform:translate(-50%) translateZ(1px)}.type-sak25 .terminal-point.left{left:8px;top:50%;transform:translateY(-50%) translateZ(1px)}.type-sak25 .terminal-point.right{right:8px;top:50%;transform:translateY(-50%) translateZ(1px)}.type-sak25 .terminal-point:after{content:"";position:absolute;width:60%;height:1px;background:#0009;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 1px #fff3}.type-label .face{background:transparent!important;border:none!important}.type-label .face.front{white-space:pre-wrap;word-wrap:break-word;padding:5px;font-size:14px;color:#000;display:flex;align-items:center}.type-label .label-mm{display:none!important}.type-measure-line{pointer-events:auto}.type-measure-line .face{background:transparent!important;border:none!important}.type-measure-line .face.front{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%}.measure-line-bar{position:absolute;background-color:#000;pointer-events:none}.type-measure-line.orientation-horizontal .measure-line-bar{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.type-measure-line.orientation-vertical .measure-line-bar{height:100%;width:1px;left:50%;top:0;transform:translate(-50%)}.measure-line-text{position:absolute;background-color:#000;color:#fff;padding:2px 8px;font-size:12px;font-weight:700;border-radius:2px;white-space:nowrap;pointer-events:none;z-index:1}.type-measure-line .resize-handle{display:none!important}.type-measure-line .measure-handle{position:absolute;width:16px;height:16px;background-color:#3498db;border:2px solid #fff;border-radius:50%;z-index:1001;cursor:move;display:none}.type-measure-line.selected .measure-handle{display:block}.type-measure-line.orientation-horizontal .measure-handle-start{left:-8px;top:50%;transform:translateY(-50%)}.type-measure-line.orientation-vertical .measure-handle-start{top:-8px;left:50%;transform:translate(-50%)}.type-measure-line.orientation-horizontal .measure-handle-end{right:-8px;top:50%;transform:translateY(-50%)}.type-measure-line.orientation-vertical .measure-handle-end{bottom:-8px;left:50%;transform:translate(-50%)}.type-measure-line .label-mm{display:none!important}.type-arrow-line{pointer-events:auto}.type-arrow-line .face{background:transparent!important;border:none!important}.type-arrow-line .face.front{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%}.arrow-line-bar{position:absolute;background-color:#000;pointer-events:none;width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.arrow-head{position:absolute;right:0;top:50%;transform:translateY(-50%);width:12px;height:16px;background-color:#000;clip-path:polygon(0% 0%,100% 50%,0% 100%);pointer-events:none}.type-arrow-line .resize-handle{display:none!important}.type-arrow-line .arrow-handle{position:absolute;width:16px;height:16px;background-color:#3498db;border:2px solid #fff;border-radius:50%;z-index:1001;cursor:move;display:none}.type-arrow-line.selected .arrow-handle{display:block}.type-arrow-line .arrow-handle-start{left:-8px;top:50%;transform:translateY(-50%)}.type-arrow-line .arrow-handle-end{right:-8px;top:50%;transform:translateY(-50%)}.type-arrow-line .label-mm{display:none!important}.component-root.type-ihm .face{background-color:var(--color-side)}.component-root.type-ihm .face.front{background-color:#f0f0f0;border:2px solid #333;color:#333;font-weight:600;position:relative;display:flex;align-items:center;justify-content:center;font-size:11px}.component-root.type-ihm .face.front:after{content:"";position:absolute;width:calc(100% - 20px);height:calc(100% - 20px);border:2px solid #333;background-color:#fff;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0}.component-root.type-ihm .face.front .ihm-label{position:relative;z-index:1;display:inline-block}.component-root.type-ihm .face.front .label-mm{position:absolute;bottom:14px;right:14px;z-index:1;font-size:9px;color:#666}.component-root.type-soft-starter .face{border-color:#3498db}.component-root.type-soft-starter.orientation-vertical .face.front{background:#ecf0f1;position:relative}.component-root.type-soft-starter.orientation-vertical .face.front:after{content:"";position:absolute;width:80px;height:60px;background:#3498db;top:40px;left:50%;transform:translate(-50%)}.component-root.type-soft-starter.orientation-horizontal .face.front{background:#ecf0f1;position:relative}.component-root.type-soft-starter.orientation-horizontal .face.front:after{content:"";position:absolute;width:60px;height:80px;background:#3498db;left:40px;top:50%;transform:translateY(-50%)}.component-root{position:absolute;transform-style:preserve-3d;cursor:grab;display:flex;align-items:center;justify-content:center}.component-root.selected .face{border:1px solid #3498db!important;box-shadow:inset 0 0 10px #3498db33}.face{position:absolute;box-sizing:border-box;border:1px solid #7f8c8d;display:flex;align-items:center;justify-content:center;font-size:10px;overflow:hidden;background-color:var(--color-side);backface-visibility:hidden;outline:1px solid transparent}.face.front{background:var(--color-face);z-index:2}.face.top{background:#bdc3c7}.face.bottom{background:#7f8c8d}.terminal-point{position:absolute;width:14px;height:14px;background:radial-gradient(circle at 35% 35%,#2c3e50,#1a252f 40%,#0d1216 70%);border:1px solid #34495e;border-radius:50%;box-shadow:inset 2px 2px 4px #000c,inset -1px -1px 2px #ffffff1a,0 1px 2px #0000004d}.terminal-point.left{left:6px;top:50%;transform:translateY(-50%) translateZ(1px)}.terminal-point.right{right:6px;top:50%;transform:translateY(-50%) translateZ(1px)}.terminal-point.top{top:6px;left:50%;transform:translate(-50%) translateZ(1px)}.terminal-point.bottom{bottom:6px;left:50%;transform:translate(-50%) translateZ(1px)}.resize-handle{position:absolute;width:16px;height:16px;background-color:#3498db;border:2px solid #fff;border-radius:3px;z-index:1001;display:none}.resize-handle-nw{top:-8px;left:-8px;cursor:nwse-resize}.resize-handle-ne{top:-8px;right:-8px;cursor:nesw-resize}.resize-handle-sw{bottom:-8px;left:-8px;cursor:nesw-resize}.resize-handle-se{bottom:-8px;right:-8px;cursor:nwse-resize}.component-root.selected .resize-handle{display:block}.label-mm{position:absolute;bottom:4px;right:4px;font-size:10px;color:#333;pointer-events:none;font-weight:700}.face.front.hide-labels{font-size:0!important;color:transparent!important}.face.front.hide-labels .label-mm{display:none!important}.face.front.hide-labels:before,.face.front.hide-labels:after{font-size:initial!important;color:initial!important}.type-label .face.front.hide-labels{font-size:inherit!important;color:inherit!important}:root{--sidebar-bg: #f8f9fa;--header-bg: #ffffff;--sidebar-border: #dee2e6;--text-color: #2c3e50;--text-color-muted: #666;--button-bg: #ffffff;--button-border: #ced4da;--button-hover-bg: #e9ecef;--button-hover-border: #adb5bd;--button-primary: #3498db;--button-primary-hover: #2980b9;--button-danger: #e74c3c;--palette-item-bg: #ffffff;--palette-item-border: #ccc;--palette-item-hover-bg: #eef;--modal-overlay-bg: rgba(0, 0, 0, .5);--modal-bg: var(--sidebar-bg);--modal-border: var(--sidebar-border);--modal-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--modal-shadow-dark: 0 25px 50px -12px rgba(0, 0, 0, .25);--modal-text-color: var(--text-color);--modal-text-muted: var(--text-color-muted);--modal-title-color: var(--text-color);--modal-btn-bg: var(--button-bg);--modal-btn-border: var(--button-border);--modal-btn-text: var(--text-color);--modal-btn-hover: var(--button-hover-bg);--modal-btn-active: var(--button-primary);--modal-btn-active-text: white;--modal-success-bg: #10b981;--modal-success-border: #059669;--modal-success-hover: #059669;--modal-error-bg: #ef4444;--modal-error-border: #dc2626;--modal-error-hover: #dc2626;--modal-warning-bg: #f59e0b;--modal-warning-border: #d97706;--modal-warning-hover: #d97706;--modal-info-bg: var(--button-primary);--modal-info-border: var(--button-primary-hover);--modal-info-hover: var(--button-primary-hover);--modal-duration: .3s;--modal-easing: cubic-bezier(.4, 0, .2, 1);--modal-scale: .95;--modal-translate-y: 20px}.dark{--sidebar-bg: #1e293b;--header-bg: #1e293b;--sidebar-border: #334155;--text-color: #e2e8f0;--text-color-muted: #94a3b8;--button-bg: #334155;--button-border: #475569;--button-hover-bg: #475569;--button-hover-border: #64748b;--button-primary: #3b82f6;--button-primary-hover: #2563eb;--button-danger: #ef4444;--palette-item-bg: #475569;--palette-item-border: #64748b;--palette-item-hover-bg: #64748b}.app-header{position:fixed;top:0;left:0;right:0;height:56px;background:var(--header-bg);border-bottom:1px solid var(--sidebar-border);z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 1px 3px #0000001a}.dark .app-header{background:var(--header-bg);border-bottom-color:var(--sidebar-border)}.app-header h1{margin:0;font-size:18px;font-weight:700;color:var(--text-color)}.title-container{display:flex;align-items:center;gap:8px}.edit-title-btn{padding:3px;border:none;border-radius:3px;background:transparent;cursor:pointer;opacity:1;transition:background-color .2s;color:var(--text-color);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.edit-title-btn:hover{background-color:var(--sidebar-border)}.save-title-btn,.cancel-title-btn{padding:3px;border:none;border-radius:3px;background:transparent;cursor:pointer;opacity:1;transition:background-color .2s;color:var(--text-color);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.save-title-btn:hover{background-color:#22c55e;color:#fff}.cancel-title-btn:hover{background-color:#ef4444;color:#fff}.title-input-wrapper{display:flex;align-items:center;gap:8px}.title-input{font-size:18px;font-weight:700;color:var(--text-color);background:var(--input-bg);border:1px solid var(--sidebar-border);border-radius:4px;padding:4px 8px;outline:none;width:300px;max-width:400px;transition:border-color .2s,box-shadow .2s}.title-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-transparent)}.title-input--error{border-color:var(--modal-error-border)!important;box-shadow:0 0 0 2px #ef444433!important}.title-input--error:focus{border-color:var(--modal-error-border)!important;box-shadow:0 0 0 2px #ef44444d!important}.title-input-error-message{color:var(--modal-error-bg);font-size:11px;font-weight:500;display:none;white-space:nowrap}.title-input-error-message.visible{display:inline}.dirty-indicator{width:12px;height:24px;background:#f97316;border-radius:2px;flex-shrink:0}.sidebar-section{background:var(--sidebar-bg);border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000001a;overflow:visible;box-sizing:border-box}.dark .sidebar-section{background:var(--sidebar-bg)}.sidebar-section h3{color:var(--text-color)!important}.dark .sidebar-section h3{color:#f1f5f9!important}.sidebar-section h3 svg,.sidebar-section h3 [data-lucide]{color:var(--text-color);stroke:var(--text-color)}.dark .sidebar-section h3 svg,.dark .sidebar-section h3 [data-lucide]{color:#f1f5f9;stroke:#f1f5f9}.sidebar-section *{box-sizing:border-box}#sidebar-content .sidebar-section:last-child{margin-bottom:0}.category-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background-color .2s}.category-toggle:hover{background:#0000000d}.dark .category-toggle:hover{background:#ffffff0d}.category-content{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.icon{display:inline-block;width:16px;height:16px}svg[data-lucide],[data-lucide]{color:currentColor;stroke:currentColor}.dark svg[data-lucide],.dark [data-lucide]{color:var(--text-color);stroke:var(--text-color)}.dark .palette-item{background:var(--palette-item-bg);border-color:var(--palette-item-border);color:var(--text-color)}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette-item{border:1px solid var(--palette-item-border);padding:10px;text-align:center;cursor:grab;font-size:11px;background:var(--palette-item-bg);border-radius:4px;transition:transform .1s;display:grid;grid-template-rows:100px auto;align-items:start;gap:8px;min-height:170px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden}.palette-item:hover{transform:scale(1.05);border-color:#3498db;background:var(--palette-item-hover-bg)}.palette-item:before{content:"";display:block;align-self:center;justify-self:center;width:40px;height:40px;border:1px solid #7f8c8d;border-radius:3px;background:#ecf0f1;box-shadow:2px 2px 4px #0003}.palette-item.type-disjuntor:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.disj-1p:before{width:70px;height:47px;background-image:url(/assets/disj_1.BkQfVZa6.png)}.palette-item.disj-2p:before{width:70px;height:47px;background-image:url(/assets/disj_2.DZz_ppKN.png)}.palette-item.disj-3p:before{width:70px;height:47px;background-image:url(/assets/disj_3.BjslkGyC.png)}.palette-item.type-disj-cxa-moldada:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.disj-cxa-1p:before{width:70px;height:47px;background-image:url(/assets/disj_cxa_m_1.CfCC6mDy.png)}.palette-item.disj-cxa-2p:before{width:70px;height:47px;background-image:url(/assets/disj_cxa_m_2.B1ECxJ7b.png)}.palette-item.disj-cxa-3p:before{width:70px;height:47px;background-image:url(/assets/disj_cxa_m_3.DsRCZqef.png)}.palette-item.disj-cxa-4p:before{width:70px;height:47px;background-image:url(/assets/disj_cxa_m_4.CpoxeTEf.png)}.palette-item.type-disj-motor-2p:before,.palette-item.type-disj-motor-3p:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.disj-motor-2p:before{width:70px;height:47px;background-image:url(/assets/disj_motor_bipolar.C_VT92H-.png)}.palette-item.disj-motor-3p:before{width:70px;height:47px;background-image:url(/assets/disj_motor_tripolar.C8NyeE1k.png)}.palette-item.rele-termico:before{width:70px;height:47px;background-image:url(/assets/rele_termico_sobrecarga.B1WsXFmr.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.chave-seccionadora-fusivel:before{width:70px;height:47px;background-image:url(/assets/chave_secciona_fusivel.BHIvIu4M.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-contator-potencia:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.contator-potencia:before{width:70px;height:47px;background-image:url(/assets/contator_potencia.BPE9N3b1.png)}.palette-item.type-dps:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.dps-1p:before{width:70px;height:47px;background-image:url(/assets/dps_1.ChvqRB0n.png)}.palette-item.dps-2p:before{width:70px;height:47px;background-image:url(/assets/dps_2.8pPYAPXk.png)}.palette-item.dps-3p:before{width:70px;height:47px;background-image:url(/assets/dps_3.CrNvVWI3.png)}.palette-item.type-dr:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.dr-2p:before{width:70px;height:47px;background-image:url(/assets/dr_2.BlpPlFAB.png)}.palette-item.dr-4p:before{width:70px;height:47px;background-image:url(/assets/dr_4.BpAZopFY.png)}.palette-item.type-trilho:before{width:70px;height:47px;background-image:url(/assets/trilho_din.C6IcL5j_.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-canaleta:before{width:70px;height:47px;background-image:url(/assets/canaleta.RQ5LPjuX.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-box:before{width:70px;height:47px;background-image:url(/assets/trafo.4ald7YCI.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-barra-terra-neutra:before{width:70px;height:47px;background-image:url(/assets/barra_terra.8mr_yzro.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-sak25:before{width:70px;height:47px;background-image:url(/assets/borne_ska25.CHVZ3cEd.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-label:before{width:70px;height:47px;background-image:url(/assets/label.Boofw79H.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.type-ihm:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.ihm:before{width:70px;height:47px;background-image:url(/assets/ihm.Bz9g3jKD.png)}.palette-item.soft-starter:before{width:70px;height:47px;background-image:url(/assets/softstart.CGoejIAh.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.dark .palette-item.type-trilho:before,.dark .palette-item.type-sak25:before,.dark .palette-item.type-dps:before,.dark .palette-item.type-disjuntor:before,.dark .palette-item.type-disj-cxa-moldada:before,.dark .palette-item.type-dr:before,.dark .palette-item.type-canaleta:before,.dark .palette-item.type-box:before,.dark .palette-item.type-barra-terra-neutra:before,.dark .palette-item.type-label:before,.dark .palette-item.type-ihm:before{background-color:transparent}.btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.btn-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}button{cursor:pointer;padding:8px;background:var(--button-bg);border:1px solid var(--button-border);border-radius:4px;font-size:11px;font-weight:600;color:var(--text-color);display:flex;align-items:center;justify-content:center;gap:5px}button:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border)}button:active{transform:translateY(1px)}button:disabled{opacity:.7;cursor:not-allowed;pointer-events:none}button.btn-loading{position:relative;opacity:1}button.btn-loading>*:not(.btn-loading-overlay){visibility:hidden!important;opacity:0!important}.btn-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:inherit;border-radius:inherit;z-index:1}.dark button{background:var(--button-bg);border-color:var(--button-border);color:var(--text-color)}.dark button:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border)}.dark button svg{color:var(--text-color);stroke:var(--text-color)}.btn-primary{background:var(--button-primary);color:#fff;border:none}.btn-primary:hover{background:var(--button-primary-hover)}.btn-danger{color:var(--button-danger);border-color:var(--button-danger)}.btn-danger:hover{background:var(--button-danger);color:#fff}.input-group{display:flex;align-items:center;gap:8px;margin-bottom:8px;width:100%}.input-group label{font-size:12px;min-width:15px;font-weight:700;color:var(--text-color);flex-shrink:0}.dark .input-group label{color:#f1f5f9}.form-control{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--button-border);border-radius:6px;font-size:13px;text-align:center;background:var(--button-bg);color:var(--text-color);transition:border-color .2s,background-color .2s;box-sizing:border-box}.form-control:focus{outline:none;border-color:var(--button-primary);background:var(--button-bg)}input[type=text],input[type=search],input[type=number]{box-sizing:border-box;background:var(--button-bg);color:var(--text-color);border:1px solid var(--button-border)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1;cursor:pointer;height:auto}input[type=text]::placeholder,input[type=search]::placeholder,input[type=number]::placeholder{color:var(--text-color-muted);opacity:.7}.dark input[type=text],.dark input[type=search],.dark input[type=number],.dark .form-control{background:#475569!important;color:#f1f5f9!important;border-color:#64748b!important;font-weight:600}.dark input[type=text]:focus,.dark input[type=search]:focus,.dark input[type=number]:focus,.dark .form-control:focus{background:#64748b!important;color:#fff!important;border-color:#3b82f6!important}.dark input[type=number]{color-scheme:dark}.dark input[type=number]::-webkit-inner-spin-button,.dark input[type=number]::-webkit-outer-spin-button{opacity:1;cursor:pointer;height:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--sidebar-bg);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--button-border);border-radius:10px;border:2px solid var(--sidebar-bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-color-muted)}*{scrollbar-width:thin;scrollbar-color:var(--button-border) var(--sidebar-bg)}.property-section{padding:12px 0;margin-bottom:16px;border-bottom:1px solid var(--sidebar-border)}.property-section:last-child{margin-bottom:0;border-bottom:none}.property-section-title{font-weight:600;font-size:11px;margin-bottom:10px;color:var(--text-color);display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}button.disabled,button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}button.disabled:hover,button:disabled:hover{background:var(--button-bg);border-color:var(--button-border);transform:none}button.disabled:active,button:disabled:active{transform:none}.palette-item mark{background-color:#fbbf24;padding:2px 4px;border-radius:2px;font-weight:600;color:inherit}.dark .palette-item mark{background-color:#f59e0b;color:#000}#no-results-message{padding:16px;text-align:center;color:var(--text-color-muted);font-size:14px;line-height:1.5;margin-top:8px}.sidebar-menu-btn{opacity:.6;transition:opacity .2s,background .2s;border-radius:4px}.sidebar-menu-btn:hover{opacity:1;background:var(--button-hover-bg)}.dark .sidebar-menu-btn:hover{background:#ffffff0d}.palette-item.type-avulso:before{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent;border:none;box-shadow:none;border-radius:0}.palette-item.avulso:before{width:70px;height:47px;background-image:url(/assets/avulso.BzX_98C-.png)}.alert-warning{background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:12px 16px;margin-bottom:16px;color:#856404;font-size:13px;line-height:1.5;box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.alert-warning strong{display:block;font-weight:600;margin-bottom:4px;color:#664d03}html.dark-theme .alert-warning{background-color:#3d3519;border-color:#9d7e0d;color:#ffc107}html.dark-theme .alert-warning strong{color:#ffd54f}.cloud-projects-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto;padding:10px}.cloud-project-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease;background:var(--panel-bg)}.cloud-project-item:hover{background:var(--hover-bg);border-color:var(--primary-color);transform:translate(4px)}.cloud-project-item .project-name{font-weight:500;color:var(--text-color);flex:1;word-break:break-word}.cloud-project-item .project-date{font-size:.85rem;color:var(--secondary-text);margin-left:10px;white-space:nowrap}.pagination-info{text-align:center;padding:10px;color:var(--secondary-text);font-size:.9rem;margin-top:10px;border-top:1px solid var(--border-color)}[data-theme=dark] .cloud-project-item{background:var(--panel-bg)}[data-theme=dark] .cloud-project-item:hover{background:#ffffff1a}:root{--modal-overlay-bg: rgba(0, 0, 0, .5);--modal-bg: var(--sidebar-bg);--modal-border: var(--sidebar-border);--modal-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--modal-shadow-dark: 0 25px 50px -12px rgba(0, 0, 0, .25);--modal-text-color: var(--text-color);--modal-text-muted: var(--text-color-muted);--modal-title-color: var(--text-color);--modal-btn-bg: var(--button-bg);--modal-btn-border: var(--button-border);--modal-btn-text: var(--text-color);--modal-btn-hover: var(--button-border);--modal-btn-active: var(--button-primary);--modal-btn-active-text: white;--modal-success-bg: #10b981;--modal-success-border: #059669;--modal-success-hover: #059669;--modal-error-bg: #ef4444;--modal-error-border: #dc2626;--modal-error-hover: #dc2626;--modal-warning-bg: #f59e0b;--modal-warning-border: #d97706;--modal-warning-hover: #d97706;--modal-info-bg: var(--button-primary);--modal-info-border: var(--button-primary-hover);--modal-info-hover: var(--button-primary-hover);--modal-duration: .3s;--modal-easing: cubic-bezier(.4, 0, .2, 1);--modal-scale: .95;--modal-translate-y: 20px}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--modal-overlay-bg);display:flex;justify-content:center;align-items:center;z-index:99999;opacity:0;visibility:hidden;transition:opacity var(--modal-duration) var(--modal-easing),visibility var(--modal-duration) var(--modal-easing);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:system-ui,-apple-system,sans-serif;pointer-events:auto}.modal-overlay.modal--visible{opacity:1;visibility:visible}.modal{background:var(--modal-bg);border:none;border-radius:12px;box-shadow:var(--modal-shadow-dark);max-width:90vw;max-height:90vh;overflow:hidden;transform:scale(var(--modal-scale)) translateY(var(--modal-translate-y));transition:transform var(--modal-duration) var(--modal-easing);outline:none}.modal-overlay.modal--visible .modal{transform:scale(1) translateY(0)}.modal.modal--small{max-width:400px}.modal.modal--medium{max-width:600px}.modal.modal--large{max-width:750px}.modal.modal--xlarge{max-width:1000px}.modal__header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--modal-border);display:flex;align-items:center;gap:.75rem;min-height:60px}.modal__title{font-size:1.25rem;font-weight:600;color:var(--modal-title-color);margin:0;flex:1;display:flex;align-items:center;gap:.5rem}.modal__close{background:none;border:none;color:var(--modal-text-muted);cursor:pointer;padding:.25rem;border-radius:6px;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center}.modal__close:hover{background:var(--modal-btn-hover);color:var(--modal-text-color)}.modal__close:focus{outline:2px solid var(--modal-btn-active);outline-offset:2px}.modal__body{padding:1rem 1.5rem;color:var(--modal-text-color);line-height:1.6;max-height:60vh;overflow-y:auto}.modal__body p{margin:0 0 1rem}.modal__body p:last-child{margin-bottom:0}.modal__input{width:100%;padding:.75rem;border:1px solid var(--modal-btn-border);border-radius:6px;background:var(--modal-btn-bg);color:var(--modal-text-color);font-size:.875rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;margin-top:1rem}.modal__input:focus{outline:none;border-color:var(--modal-btn-active);box-shadow:0 0 0 3px #3498db1a}.modal__footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--modal-border);display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.modal__btn{padding:.625rem 1.25rem;border:1px solid var(--modal-btn-border);border-radius:6px;background:var(--modal-btn-bg);color:var(--modal-btn-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;min-width:80px;justify-content:center}.modal__btn:hover{background:var(--modal-btn-hover);border-color:var(--modal-btn-hover)}.modal__btn:focus{outline:2px solid var(--modal-btn-active);outline-offset:2px}.modal__btn:active{transform:scale(.98)}.modal__btn.modal__btn--primary{background:var(--modal-btn-active);color:var(--modal-btn-active-text);border-color:var(--modal-btn-active)}.modal__btn.modal__btn--primary:hover{background:var(--modal-btn-active);border-color:var(--modal-btn-active);opacity:.9}.modal__btn.modal__btn--success{background:var(--modal-success-bg);color:#fff;border-color:var(--modal-success-bg)}.modal__btn.modal__btn--success:hover{background:var(--modal-success-hover);border-color:var(--modal-success-hover)}.modal__btn.modal__btn--error{background:var(--modal-error-bg);color:#fff;border-color:var(--modal-error-bg)}.modal__btn.modal__btn--error:hover{background:var(--modal-error-hover);border-color:var(--modal-error-hover)}.modal__btn.modal__btn--warning{background:var(--modal-warning-bg);color:#fff;border-color:var(--modal-warning-bg)}.modal__btn.modal__btn--warning:hover{background:var(--modal-warning-hover);border-color:var(--modal-warning-hover)}.modal__icon{width:1.5rem;height:1.5rem;flex-shrink:0}.modal--alert .modal__icon{color:var(--modal-info-bg)}.modal--success .modal__icon{color:var(--modal-success-bg)}.modal--error .modal__icon{color:var(--modal-error-bg)}.modal--warning .modal__icon,.modal--confirm .modal__icon{color:var(--modal-warning-bg)}.modal__loading{display:flex;align-items:center;justify-content:center;padding:2rem}.modal__spinner{width:2rem;height:2rem;border:2px solid var(--modal-btn-border);border-top:2px solid var(--modal-btn-active);border-radius:50%;animation:modal-spin 1s linear infinite}@keyframes modal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-radius:50%;border-top-color:var(--text-color);animation:button-spin .6s linear infinite;vertical-align:middle}.loading-spinner+*{margin-left:8px}.modal__btn .loading-spinner{border:2px solid rgba(255,255,255,.3);border-top-color:#fff}.modal-btn-small .loading-spinner{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;max-width:14px!important;max-height:14px!important;border:2px solid rgba(0,0,0,.2)!important;border-top-color:var(--text-color)!important;border-radius:50%!important;animation:button-spin .6s linear infinite!important;display:inline-block!important;visibility:visible!important;opacity:1!important;flex-shrink:0!important;aspect-ratio:1 / 1!important;box-sizing:border-box!important;vertical-align:middle!important;margin:0!important;padding:0!important}.modal-btn-small--primary .loading-spinner,.modal-btn-small--secondary .loading-spinner,.modal-btn-small--danger .loading-spinner{border:2px solid rgba(255,255,255,.3)!important;border-top-color:#fff!important}@keyframes button-spin{to{transform:rotate(360deg)}}.modal__btn:disabled{opacity:.7;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:var(--text-color);opacity:.5}.modal__btn .loading-spinner{border-top-color:#ffffff80}}.modal-overlay.modal--fade-in .modal{animation:modal-fade-in var(--modal-duration) var(--modal-easing)}.modal-overlay.modal--slide-up .modal{animation:modal-slide-up var(--modal-duration) var(--modal-easing)}.modal-overlay.modal--scale-in .modal{animation:modal-scale-in var(--modal-duration) var(--modal-easing)}@keyframes modal-fade-in{0%{opacity:0;transform:scale(1)}to{opacity:1;transform:scale(1)}}@keyframes modal-slide-up{0%{opacity:0;transform:scale(1) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.8) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay.modal--visible{overflow:hidden;pointer-events:all}.modal-overlay.modal--visible~*{aria-hidden:true;pointer-events:none;-webkit-user-select:none;user-select:none}body:has(.modal-overlay.modal--visible){overflow:hidden}body:has(.modal-overlay.modal--visible)>*:not(.modal-overlay){pointer-events:none;-webkit-user-select:none;user-select:none}.modal-overlay.modal--visible,.modal-overlay.modal--visible *{pointer-events:auto;-webkit-user-select:auto;user-select:auto}.modal-overlay.modal--visible .modal:focus-within{box-shadow:var(--modal-shadow-dark)}.dark .modal{box-shadow:var(--modal-shadow-dark)}.dark .modal__input{background:var(--sidebar-bg)}@media(max-width:640px){.modal{margin:1rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.modal__header,.modal__body{padding:1rem}.modal__footer{padding:1rem;flex-direction:column}.modal__btn{width:100%;justify-content:center}}@media(prefers-contrast:high){.modal,.modal__btn{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal,.modal__btn,.modal__close{transition:none;animation:none}.modal{transform:none}}.search-container{margin-bottom:1rem}.search-input-wrapper{position:relative;width:100%}.search-container input{width:100%;padding:.75rem 3rem .75rem .75rem;border:1px solid var(--modal-btn-border);border-radius:6px;background:var(--modal-btn-bg);color:var(--modal-text-color);font-size:.875rem;transition:border-color .2s,box-shadow .2s;outline:none}.search-container input:focus{border-color:var(--modal-btn-active);box-shadow:0 0 0 3px #3498db1a}.search-container input::placeholder{color:var(--modal-text-muted)}.search-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--modal-text-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.search-btn:hover{color:var(--modal-btn-active);background:var(--modal-btn-hover)}.search-btn:active{transform:translateY(-50%) scale(.95)}.search-btn:focus{outline:2px solid var(--modal-btn-active);outline-offset:2px}.cloud-projects-container{max-height:250px;overflow-y:auto;margin-bottom:1rem}.modal-table{width:100%;border-collapse:collapse;font-size:.875rem}.modal-table thead{position:sticky;top:0;z-index:1}.modal-table th{background:var(--modal-btn-bg);color:var(--modal-text-color);font-weight:600;text-align:left;padding:.75rem .5rem;border-bottom:2px solid var(--modal-border);white-space:nowrap}.modal-table td{padding:.625rem .5rem;border-bottom:1px solid var(--modal-border);vertical-align:middle}.modal-table tbody tr{transition:background-color .15s ease}.modal-table tbody tr:last-child td{border-bottom:none}.project-name-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--modal-title-color)}.project-date-cell{white-space:nowrap;color:var(--modal-text-muted);font-size:.8125rem}.project-actions-cell{white-space:nowrap;text-align:center}.modal-btn-small{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:.5rem;margin:0 .25rem;border:1px solid var(--modal-btn-border);border-radius:4px;background:var(--modal-btn-bg);color:var(--modal-btn-text);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;min-width:32px;min-height:32px;width:32px;height:32px;position:relative;vertical-align:middle;box-sizing:border-box}.modal-btn-small:hover{background:var(--modal-btn-hover)}.modal-btn-small:active{transform:scale(.96)}.modal-btn-small svg{flex-shrink:0}.modal-btn-small.btn-loading svg{display:none!important;visibility:hidden!important;opacity:0!important}.modal-btn-small.btn-loading{padding:0!important}.modal-btn-small--primary{background:var(--modal-btn-active);color:var(--modal-btn-active-text);border-color:var(--modal-btn-active)}.modal-btn-small--primary:hover{opacity:.9;background:var(--modal-btn-active)}.modal-btn-small--secondary{background:var(--modal-btn-bg);color:var(--modal-text-color);border-color:var(--modal-btn-border)}.modal-btn-small--secondary:hover{background:var(--modal-btn-hover);border-color:var(--modal-btn-active)}.modal-btn-small--danger{background:var(--modal-error-bg);color:#fff;border-color:var(--modal-error-bg)}.modal-btn-small--danger:hover{background:var(--modal-error-hover);border-color:var(--modal-error-hover)}.modal-empty-message{text-align:center;color:var(--modal-text-muted);padding:2rem 1rem;font-style:italic}.pagination-info{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.8125rem;color:var(--modal-text-muted);padding-top:.75rem;border-top:1px solid var(--modal-border);margin-top:.5rem}.pagination-text{min-width:120px;text-align:center}.pagination-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--modal-btn-border);border-radius:6px;background:var(--modal-btn-bg);color:var(--modal-text-color);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:var(--modal-btn-hover);border-color:var(--modal-btn-active);color:var(--modal-btn-active)}.pagination-btn:active:not(:disabled){transform:scale(.95)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn svg{flex-shrink:0}@media(max-width:640px){.modal-table th,.modal-table td{padding:.5rem .375rem}.project-name-cell{max-width:120px}.modal-btn-small{padding:.25rem .5rem;font-size:.6875rem}.modal-btn-small svg{width:12px;height:12px}.project-actions-cell{flex-direction:column;gap:.375rem}}.ilustrativo-modal-content{display:flex;flex-direction:column;justify-content:center;align-items:stretch;width:100%;padding:20px 0}.ilustrativo-image{max-width:100%;height:auto;aspect-ratio:16 / 9;object-fit:contain;border-radius:4px;background-color:var(--surface-color)}.ilustrativo-skeleton{width:100%;min-width:700px;aspect-ratio:1365 / 768;background:linear-gradient(90deg,var(--sidebar-bg) 25%,var(--sidebar-border) 50%,var(--sidebar-bg) 75%);background-size:200% 100%;animation:skeleton-wave 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.dimensions-modal-content{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.dimensions-grid{display:flex;flex-direction:column;gap:.5rem}.dimension-row{display:flex;flex-direction:column}.dimension-field{display:flex;align-items:center;gap:.5rem;background:var(--sidebar-bg);border:1px solid var(--modal-btn-border);border-radius:6px;padding:.625rem .75rem;transition:border-color .2s}.dimension-field:focus-within{border-color:var(--modal-btn-active)}.dimension-icon{display:flex;align-items:center;justify-content:center;color:var(--modal-text-muted);flex-shrink:0}.dimension-icon svg{width:18px;height:18px}.dimension-label{font-weight:600;color:var(--modal-text-color);min-width:1rem;font-size:.875rem}.dimension-input{flex:1;border:none;background:transparent;color:var(--modal-text-color);font-size:.875rem;font-family:inherit;text-align:right;padding:0;outline:none;min-width:60px;-moz-appearance:textfield}.dimension-input::-webkit-outer-spin-button,.dimension-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dimension-input-wrapper{display:flex;align-items:center;gap:.25rem;flex:1}.dimension-input-wrapper input{flex:1;border:none;background:transparent;color:var(--modal-text-color);font-size:.875rem;font-family:inherit;text-align:right;padding:0;outline:none;min-width:40px;-moz-appearance:textfield}.dark .dimension-input-wrapper input,.dark .dimension-field .dimension-input-wrapper input:hover,.dark .dimension-field .dimension-input-wrapper input:focus,.dark .dimension-field .dimension-input-wrapper input:focus-visible{background:transparent!important}.dimension-input-wrapper input::-webkit-outer-spin-button,.dimension-input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dimension-spinner{display:flex;flex-direction:column;gap:1px}.dimension-spinner-btn{display:flex;align-items:center;justify-content:center;width:18px;height:12px;background:var(--modal-btn-hover);border:none;border-radius:2px;cursor:pointer;padding:0;color:var(--modal-text-muted);transition:background-color .15s,color .15s}.dimension-spinner-btn:hover{background:var(--modal-btn-active);color:#fff}.dimension-spinner-btn:active{transform:scale(.95)}.dimension-spinner-btn svg{width:10px;height:10px}.dimension-error{color:var(--modal-error-bg);font-size:.75rem;text-align:right;padding:.25rem .75rem 0;margin:0}@media(max-width:400px){.dimension-field{padding:.5rem}}.modal--info.modal--large{min-width:700px;max-width:700px;width:700px}.version-notes-link{background:transparent;border:none;color:var(--button-primary);font-size:12px;cursor:pointer;padding:4px 8px;text-decoration:none;transition:all .2s ease;font-family:inherit}.version-notes-link:hover{text-decoration:underline;color:var(--button-primary-hover, var(--button-primary))}.version-notes-link:active{opacity:.8}.version-notes-content{padding:20px;max-height:calc(40vh - 80px);overflow-y:auto}.version-entry{margin-bottom:20px}.version-header{font-size:14px;color:var(--text-color);margin-bottom:4px}.version-number{font-size:16px;color:var(--button-primary);margin-bottom:12px}.version-changelog{list-style-type:disc;padding-left:24px;margin:0}.version-changelog li{margin-bottom:6px;color:var(--text-color);line-height:1.5;font-size:13px}.version-changelog li:last-child{margin-bottom:0}.version-divider{display:none}.version-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid var(--sidebar-border);flex-wrap:nowrap;width:100%;box-sizing:border-box}.version-pagination-btn{padding:8px 16px;background:var(--button-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.version-pagination-icon-btn{padding:8px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.pagination-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.pagination-icon svg{width:100%;height:100%;stroke:currentColor}.version-pagination-btn:disabled{opacity:.65!important;cursor:not-allowed}.version-pagination-btn:disabled,.version-pagination-btn:disabled:hover,.version-pagination-btn:disabled:active{opacity:.65!important;background:var(--button-primary)}.version-pagination-btn:hover:not(:disabled){background:var(--button-primary-hover, var(--button-primary));opacity:.9}.version-pagination-btn:active:not(:disabled){opacity:.85;transform:scale(.98)}.page-indicator{font-size:13px;color:var(--text-color);font-weight:600;white-space:nowrap}@media(max-width:900px){.modal--info.modal--large{min-width:auto;max-width:90vw;width:90vw}}@media(max-width:640px){.modal--info.modal--large{min-width:auto;max-width:calc(100vw - 2rem);width:calc(100vw - 2rem)}.version-pagination{gap:8px;padding:10px}.version-pagination-btn{padding:6px 12px;font-size:11px;flex:1;min-width:70px}.page-indicator{font-size:11px;order:3;width:100%;text-align:center;flex-basis:100%}.version-notes-content{padding:15px;max-height:calc(50vh - 120px)}.version-entry{margin-bottom:15px}.version-header{font-size:13px}.version-number{font-size:14px;margin-bottom:10px}.version-changelog{padding-left:20px}.version-changelog li{font-size:12px;margin-bottom:4px}.version-divider{margin:15px 0}}.context-menu{position:fixed;background:var(--sidebar-bg);border:1px solid var(--sidebar-border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:4px 0;z-index:10000;opacity:0;transform:scale(.95);transition:opacity .15s ease,transform .15s ease;overflow-y:auto}.context-menu.show{opacity:1;transform:scale(1)}.context-menu-item{display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-color);font-size:14px;position:relative;transition:background .1s ease}.context-menu-item:hover:not(.disabled){background:var(--button-hover-bg)}.context-menu-item.disabled{opacity:.4;cursor:not-allowed}.context-menu-item i{width:18px;height:18px;flex-shrink:0}.context-menu-item .label{flex:1}.context-menu-item .submenu-arrow{margin-left:auto;width:16px;height:16px;opacity:.6}.context-menu-separator{height:1px;background:var(--sidebar-border);margin:4px 8px}.context-menu-item.has-submenu{position:relative}.context-submenu{position:fixed;background:var(--sidebar-bg);border:1px solid var(--sidebar-border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:4px 0;z-index:10001;opacity:0;transform:scale(.95);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.context-submenu.show{opacity:1;transform:scale(1);pointer-events:auto}:root.dark .context-menu,:root.dark .context-submenu{box-shadow:0 4px 12px #0006}.context-menu-item.focused:not(.disabled){background:var(--button-hover-bg)}#license-block-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1e293b,#0f172a);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:999999;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.license-block-content{background:#ffffff0d;padding:3rem;border-radius:24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px #0006;max-width:420px;width:90%;text-align:center;animation:licenseSlideIn .3s ease-out}@keyframes licenseSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.license-block-icon{font-size:3rem;margin-bottom:1.5rem;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:50%;margin-left:auto;margin-right:auto;box-shadow:0 10px 30px #f973164d}@keyframes licensePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.95}}.license-block-icon{animation:licensePulse 2s ease-in-out infinite}.license-block-title{color:#fff;font-size:1.75rem;font-weight:700;margin:0 0 1rem;line-height:1.3}.license-block-message{color:#cbd5e1;font-size:1rem;line-height:1.6;margin:0 0 2rem;opacity:.9}.license-block-button{background:#fff;color:#df4a1c;border:none;padding:1rem 2.5rem;border-radius:50px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:140px}.license-block-button:hover{transform:translateY(-2px);box-shadow:0 15px 35px #0000004d}.license-block-button:active{transform:translateY(0);box-shadow:0 10px 25px #0003}.license-block-button.upgrade{background:#f97316;color:#fff}.license-block-button.upgrade:hover{background:#ea580c;transform:translateY(-2px);box-shadow:0 15px 35px #f973164d}.license-block-button.upgrade:active{background:#c2410c;transform:translateY(0)}.license-block-button.retry{background:#fff;color:#df4a1c}.license-block-button.retry:hover{background:#f97316;color:#fff;transform:translateY(-2px);box-shadow:0 15px 35px #f973164d}.license-block-button.retry:active{background:#ea580c;transform:translateY(0)}@media(max-width:640px){.license-block-content{padding:2rem 1.5rem;margin:1rem;width:95%}.license-block-icon{width:80px;height:80px;font-size:2.5rem;margin-bottom:1.2rem}.license-block-title{font-size:1.5rem}.license-block-message{font-size:.9rem;margin-bottom:1.5rem}.license-block-button{padding:.75rem 2rem;font-size:1rem;min-width:120px}}body.license-blocked{overflow:hidden}body:not(.license-valid) .app-header,body:not(.license-valid) .sidebar-left,body:not(.license-valid) .sidebar-right,body:not(.license-valid) .workspace-container,body:not(.license-valid) #controls-container{opacity:.1;pointer-events:none;filter:blur(2px)}.license-block-loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.2);border-radius:50%;border-top-color:#f97316;animation:licenseSpin 1s ease-in-out infinite;margin-right:8px}@keyframes licenseSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.license-block-message .upgrade-link{color:#f97316;text-decoration:none;font-weight:600;display:inline-block;margin-top:.5rem}.license-block-message .upgrade-link:hover{text-decoration:underline}.license-block-message .support-link{color:#cbd5e1;text-decoration:none;font-weight:500}.license-block-message .support-link:hover{color:#fff;text-decoration:underline}.license-debug-info{position:fixed;bottom:10px;left:10px;background:#000c;color:#f97316;padding:8px 12px;border-radius:4px;font-size:.75rem;font-family:monospace;z-index:100000}body[data-env=development] .license-debug-info{display:block}body[data-env=production] .license-debug-info{display:none}
