.builder-workspace{overflow:hidden;background:#e9eef6}
.builder-workspace .app-main{height:100vh;padding:0;width:calc(100% - 250px);overflow:hidden;background:#edf2f8}
.builder-topbar{height:76px;background:#fff;border-bottom:1px solid #dce4ef;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.builder-title{display:flex;align-items:center;gap:14px;min-width:0}.builder-title>a{width:36px;height:36px;border:1px solid #dce4ef;border-radius:10px;display:grid;place-items:center;font-weight:bold}.builder-title div{min-width:0}.builder-title span,.builder-title strong{display:block}.builder-title span{font-size:9px;letter-spacing:1.3px;color:#718198;font-weight:bold}.builder-title strong{font-size:14px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
.builder-actions{display:flex;align-items:center;gap:8px}.builder-actions>span{font-size:10px;color:#718198;margin-right:5px}.builder-actions>span.dirty{color:#b46d16}.builder-actions>span.saved{color:#27804a}.tool-button{border:1px solid #dce4ef;background:#fff;color:#233650;padding:10px 12px;border-radius:8px;font-size:11px;font-weight:bold;cursor:pointer}.tool-button:hover{border-color:#8aafff;background:#f6f9ff}
.builder-ribbon{height:66px;background:#f9fbfe;border-bottom:1px solid #dce4ef;display:flex;align-items:stretch;padding:6px 14px;overflow-x:auto;overflow-y:hidden}.ribbon-group{flex:0 0 auto;padding:0 10px;border-right:1px solid #e3eaf3;display:flex;flex-direction:column;justify-content:space-between;gap:4px}.ribbon-group:first-child{padding-left:0}.ribbon-group>span{font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:1px;color:#75849a;font-weight:800}.ribbon-group>div{display:flex;align-items:center;gap:4px}.ribbon-group button{min-width:34px;height:34px;border:1px solid #d8e1ed;background:#fff;color:#172b48;border-radius:7px;padding:0 9px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.ribbon-group button:hover:not(:disabled){border-color:#79a4ff;background:#edf4ff;color:#1458e9}.ribbon-group button:disabled{opacity:.35;cursor:not-allowed}.ribbon-view{margin-left:auto;border-right:0}.ribbon-view b{font-size:10px;color:#43536a;min-width:38px;text-align:center}.snap-control{height:34px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #d8e1ed;border-radius:7px;background:#fff;color:#43536a;font-size:9px;font-weight:700;cursor:pointer}.snap-control input{accent-color:#2468ff}
.builder-shell{height:calc(100vh - 142px);display:grid;grid-template-columns:210px minmax(480px,1fr) 310px}
.slides-rail,.inspector{background:#fff;min-height:0;display:flex;flex-direction:column}.slides-rail{border-right:1px solid #dce4ef;padding:16px 12px}.inspector{border-left:1px solid #dce4ef}
.rail-heading{display:flex;align-items:center;justify-content:space-between;padding:0 4px 12px;font-size:12px}.rail-heading button{border:0;background:#eaf1ff;color:#2468ff;width:28px;height:28px;border-radius:8px;font-size:18px;cursor:pointer}.slide-list{overflow:auto;display:grid;gap:10px;padding:2px 3px 14px}.slide-card{border:2px solid transparent;background:#f7f9fc;border-radius:10px;padding:7px;cursor:pointer;display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center}.slide-card:hover{background:#f0f5ff}.slide-card.active{border-color:#2468ff;background:#edf3ff}.slide-card.dragging{opacity:.45}.slide-card b{font-size:10px;color:#63738b;text-align:center}.slide-thumb{aspect-ratio:16/9;border-radius:6px;background:#071327 center/cover no-repeat;box-shadow:0 2px 8px rgba(10,28,55,.16);position:relative;overflow:hidden}.slide-thumb:after{content:"";position:absolute;left:8%;right:22%;top:22%;height:10%;background:#ffffffd9;border-radius:3px;box-shadow:0 12px 0 #ffffff75}.slide-actions{margin-top:auto;border-top:1px solid #edf1f6;padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.slide-actions button{border:0;background:#f0f3f8;border-radius:7px;padding:9px;font-size:10px;cursor:pointer}.slide-actions button:last-child{color:#af3141}
.canvas-workspace{min-width:0;min-height:0;padding:14px clamp(14px,2vw,34px);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;background-color:#e9eef5;background-image:linear-gradient(45deg,#dfe6ef 25%,transparent 25%),linear-gradient(-45deg,#dfe6ef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dfe6ef 75%),linear-gradient(-45deg,transparent 75%,#dfe6ef 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.canvas-meta,.canvas-hint{width:min(100%,calc((100vh - 250px)*1.7778));color:#63738b;font-size:10px}.canvas-meta{display:flex;justify-content:space-between;margin-bottom:9px}.canvas-hint{text-align:center;margin-top:9px}.canvas-frame{width:min(100%,calc((100vh - 250px)*1.7778));max-height:calc(100vh - 250px);aspect-ratio:16/9;box-shadow:0 25px 75px rgba(8,23,48,.25);border-radius:4px;background:#071327;position:relative;transform-origin:center center;transition:transform .16s ease}.slide-canvas{position:absolute;inset:0;overflow:hidden;background:#071327 center/cover no-repeat;outline:0;user-select:none}.slide-canvas.drag-over:after{content:"Solte para aplicar o fundo";position:absolute;inset:12px;border:2px dashed #c9fb45;display:grid;place-items:center;color:#fff;background:#07132788;font-size:16px;font-weight:bold;z-index:9999}
.canvas-element{position:absolute;min-width:20px;min-height:18px;cursor:move;outline:1px solid transparent;transform-origin:center;white-space:pre-wrap;overflow:visible;line-height:1.08;touch-action:none}.canvas-element.selected{outline:2px solid #4f9cff;box-shadow:0 0 0 1px #fff}.canvas-element .element-content{width:100%;height:100%;outline:0;overflow:hidden;cursor:move}.canvas-element .element-content[contenteditable=true]{cursor:text;user-select:text;background:#ffffff12}.canvas-element.shape-element{border:2px solid #fff;background:rgba(255,255,255,.12)}.canvas-element.image-element{background:transparent}.canvas-element.image-element img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.move-handle,.resize-handle{display:none;position:absolute;z-index:5;background:#2468ff;border:2px solid #fff;box-shadow:0 2px 8px #0004}.selected .resize-handle{display:block}.resize-handle{right:-7px;bottom:-7px;width:14px;height:14px;border-radius:50%;cursor:nwse-resize}.canvas-element.page-number .element-content{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.inspector-tabs{height:52px;border-bottom:1px solid #e4eaf2;display:grid;grid-template-columns:1fr 1fr;padding:8px}.inspector-tabs button{border:0;background:transparent;color:#718198;font-size:11px;font-weight:bold;border-radius:7px;cursor:pointer}.inspector-tabs button.active{background:#edf3ff;color:#2468ff}.inspector-panel{display:none;overflow:auto;padding:16px}.inspector-panel.active{display:block}.panel-copy{font-size:11px;line-height:1.5;color:#718198;margin:0 0 14px}.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.background-tile{border:2px solid transparent;background:#fff;border-radius:9px;padding:4px;cursor:grab;text-align:left}.background-tile:hover,.background-tile.active{border-color:#2468ff}.background-tile img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px}.background-tile span{display:block;font-size:9px;color:#43536a;margin:5px 2px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector label{display:block;font-size:10px;color:#55667e;font-weight:bold;margin-bottom:14px}.inspector textarea,.inspector select,.inspector input[type=number]{width:100%;margin-top:6px;border:1px solid #dce4ef;border-radius:7px;padding:9px;font:12px Arial}.inspector textarea{min-height:105px;resize:vertical}.inspector input[type=range]{display:block;width:100%;margin-top:8px}.inspector input[type=color]{display:block;width:100%;height:37px;margin-top:6px;border:1px solid #dce4ef;background:#fff;border-radius:7px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.danger-link{border:1px solid #ffd2d6;color:#ad3040;background:#fff7f7;width:100%;padding:10px;border-radius:8px;font-size:10px;font-weight:bold;cursor:pointer}.inspector #elementControls[hidden],.inspector #textControls[hidden]{display:none}
.visual-deck{background:#030814;color:#fff;overflow:hidden}.visual-slide{display:none;position:fixed;left:50%;top:50%;width:min(100vw,177.7778vh);height:min(56.25vw,100vh);transform:translate(-50%,-50%);background:#071327 center/cover no-repeat;box-shadow:0 0 70px #000}.visual-slide.visible{display:block}.visual-element{position:absolute;white-space:pre-wrap;overflow:hidden;line-height:1.08}.visual-element.shape{border-style:solid}.visual-element.image img{display:block;width:100%;height:100%;object-fit:contain}.visual-controls{position:fixed;z-index:10000;right:25px;bottom:22px;display:flex;align-items:center;gap:8px}.visual-counter{min-width:72px;text-align:center;padding:9px 13px;border:1px solid #ffffff44;background:#07132799;color:#fff;border-radius:22px;font:700 11px Arial;letter-spacing:.08em;backdrop-filter:blur(8px)}.visual-controls button,.visual-exit{width:42px;height:42px;border:1px solid #ffffff55;background:#07132799;color:#fff;border-radius:50%;cursor:pointer;backdrop-filter:blur(8px)}.visual-exit{position:fixed;z-index:10000;right:25px;top:22px;display:grid;place-items:center;font-size:12px}.visual-progress{position:fixed;z-index:10000;left:0;right:0;bottom:0;height:3px;background:#ffffff20}.visual-progress i{display:block;height:100%;background:#c9fb45;transition:width .25s}
@media(max-width:1300px){.builder-shell{grid-template-columns:170px minmax(430px,1fr) 260px}.builder-actions>span{display:none}.background-grid{grid-template-columns:1fr}.builder-title strong{max-width:25vw}.ribbon-group{padding:0 7px}.ribbon-group button{padding:0 7px}}
@media(max-width:900px){.builder-workspace{overflow:auto}.builder-workspace .app-main{height:auto;min-height:100vh;overflow:visible}.builder-topbar{position:sticky;top:0;z-index:12}.builder-ribbon{position:sticky;top:76px;z-index:11}.builder-shell{height:auto;min-height:calc(100vh - 142px);grid-template-columns:115px minmax(420px,1fr)}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid #dce4ef;min-height:330px}.background-grid{grid-template-columns:repeat(4,1fr)}}
