@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations")}:root{color-scheme:light;--bg: #f7f6f9;--surface: #ffffff;--surface-2: #f1f0f4;--surface-3: #e7e5ec;--seg-active: #ffffff;--line: #e3e1e8;--line-strong: #ccc9d4;--text: #1d1b22;--text-muted: #6f6c77;--text-faint: #9c99a4;--accent: #e5177b;--accent-hover: #c21266;--accent-ink: #14121a;--accent-text: #c21266;--accent-soft: rgba(229, 23, 123, .1);--primary-bg: #e5177b;--primary-hover: #c21266;--primary-ink: #ffffff;--danger: #d6295a;--danger-soft: rgba(214, 41, 90, .1);--on-danger: #ffffff;--success: #1e9a5c;--warn: #a8790a;--workspace: #ece9f0;--check-a: #ffffff;--check-b: #ede9f2;--sel: #18c9e0;--guide: #c21266;--item-outline: rgba(28, 27, 25, .16);--hover-overlay: rgba(28, 27, 25, .04);--scrim: rgba(20, 18, 26, .42);--toast-bg: #1d1b22;--toast-text: #f7f6f9;--chart-1: #e5177b;--chart-2: #18c9e0;--shadow-sm: 0 1px 2px rgba(20, 18, 26, .08);--shadow-md: 0 8px 24px -8px rgba(20, 18, 26, .2);--shadow-lg: 0 20px 50px -12px rgba(20, 18, 26, .3);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-pill: 999px;--font-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-micro: 9px;--fs-2xs: 10.5px;--fs-xs: 11.5px;--fs-sm: 12.5px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 24px;--fs-3xl: 28px;--fs-display: 48px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #161519;--surface: #1f1e24;--surface-2: #28272e;--surface-3: #302f37;--seg-active: #302f37;--line: #3b3944;--line-strong: #4c4a56;--text: #eeebe5;--text-muted: #9e9ba6;--text-faint: #6e6b76;--accent: #e5177b;--accent-hover: #ff3690;--accent-ink: #14121a;--accent-text: #ff6fb5;--accent-soft: rgba(229, 23, 123, .16);--primary-bg: #e5177b;--primary-hover: #c21266;--primary-ink: #ffffff;--danger: #ff5d71;--danger-soft: rgba(255, 93, 113, .14);--on-danger: #1a171c;--success: #3adc91;--warn: #f2c230;--workspace: #121116;--check-a: #201f24;--check-b: #2a2930;--sel: #18c9e0;--guide: #ff3690;--item-outline: rgba(255, 255, 255, .16);--hover-overlay: rgba(255, 255, 255, .04);--scrim: rgba(0, 0, 0, .6);--toast-bg: #eeebe5;--toast-text: #17151b;--chart-1: #e5177b;--chart-2: #18c9e0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 56px -12px rgba(0, 0, 0, .75);color-scheme:dark}}:root[data-theme=dark]{--bg: #161519;--surface: #1f1e24;--surface-2: #28272e;--surface-3: #302f37;--seg-active: #302f37;--line: #3b3944;--line-strong: #4c4a56;--text: #eeebe5;--text-muted: #9e9ba6;--text-faint: #6e6b76;--accent: #e5177b;--accent-hover: #ff3690;--accent-ink: #14121a;--accent-text: #ff6fb5;--accent-soft: rgba(229, 23, 123, .16);--primary-bg: #e5177b;--primary-hover: #c21266;--primary-ink: #ffffff;--danger: #ff5d71;--danger-soft: rgba(255, 93, 113, .14);--on-danger: #1a171c;--success: #3adc91;--warn: #f2c230;--workspace: #121116;--check-a: #201f24;--check-b: #2a2930;--sel: #18c9e0;--guide: #ff3690;--item-outline: rgba(255, 255, 255, .16);--hover-overlay: rgba(255, 255, 255, .04);--scrim: rgba(0, 0, 0, .6);--toast-bg: #eeebe5;--toast-text: #17151b;--chart-1: #e5177b;--chart-2: #18c9e0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 56px -12px rgba(0, 0, 0, .75);color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn .icon{width:18px;height:18px}.tool-card-icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-sm);background:var(--surface);color:var(--accent-text);flex-shrink:0}.tool-card-icon .icon{width:14px;height:14px}.image-tools-panel-icon{display:inline-grid;color:var(--accent-text)}.checkline .icon{color:var(--text-muted)}.page-tab-remove .icon,.size-config-row-remove .icon,.mockup-slot-remove .icon,.mockup-template-remove .icon,.mockup-template-pin .icon{width:12px;height:12px;vertical-align:middle}.mockup-organize-fab .icon,.mockup-download-all-fab .icon,.mockup-add-session-fab .icon{width:22px;height:22px}.zoom-btn .icon,.mockup-session-action .icon,.project-row button .icon,.item-toolbar button .icon{width:15px;height:15px;vertical-align:middle}header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 22px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.logo-mark{width:34px;height:34px;border-radius:8px;object-fit:contain;display:block;flex-shrink:0}.brand-text{flex-shrink:0}header h1{font-size:var(--fs-lg);margin:0;font-weight:var(--fw-bold);letter-spacing:-.01em;white-space:nowrap}@media(max-width:1600px){header p{display:none}}header p{margin:0;font-size:var(--fs-sm);color:var(--text-muted);font-family:var(--font-ui);white-space:nowrap}.header-side{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.header-side-left{justify-content:flex-start}.header-side-right{justify-content:flex-end}#btnHelp{width:auto;margin-bottom:0;white-space:nowrap;flex-shrink:0}.stat-chip{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface-2);border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 8px;white-space:nowrap}.stat-chip b{color:var(--text);font-weight:var(--fw-medium)}.access-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:var(--bg);padding:24px}.access-gate-overlay.show{display:flex}.access-gate-brand{display:flex;align-items:center;gap:14px}.access-gate-brand h1{font-size:var(--fs-xl);margin:0;font-weight:var(--fw-semibold);letter-spacing:.2px;white-space:nowrap}.access-gate-brand p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;font-family:var(--font-ui)}.access-gate-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;width:100%;max-width:360px}.access-gate-panel h2{font-size:var(--fs-lg);margin:0 0 16px}.access-gate-panel .btn{width:100%}.access-gate-panel .link-btn-neutral{display:block;width:100%;text-align:center;background:none;border:none;padding:0;color:var(--text-muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:var(--fs-sm)}.access-gate-panel .link-btn-neutral:hover{color:var(--accent-text)}.campo-senha{position:relative;margin-bottom:4px}.campo-senha input{padding-right:42px}.btn-olho{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background-color .15s ease}.btn-olho:hover{color:var(--text);background:var(--accent-soft)}.btn-olho:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-olho[aria-pressed=true]{color:var(--accent-text)}.btn-olho .icon{width:18px;height:18px}.access-gate-panel input[aria-invalid=true]{border-color:var(--danger)}.gate-linha-esqueci{display:flex;justify-content:flex-end;margin:4px 0 14px}.access-gate-panel .gate-linha-esqueci .link-btn-neutral{display:inline;width:auto;text-decoration:none;color:var(--accent-text);font-weight:var(--fw-medium)}.access-gate-panel .gate-linha-esqueci .link-btn-neutral:hover{text-decoration:underline}.access-gate-panel h2+.gate-sub{margin-top:-8px}.gate-sub{margin:0 0 18px;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.55}.gate-sub strong{color:var(--text);font-weight:var(--fw-semibold);word-break:break-all}.gate-selo{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:14px;border-radius:14px;background:var(--accent-soft);color:var(--accent-text)}.gate-selo-mail{background:color-mix(in srgb,var(--sel) 16%,transparent);color:color-mix(in srgb,var(--sel) 70%,var(--text))}.gate-selo .icon{width:22px;height:22px}.gate-erro-campo{margin:4px 0 10px;color:var(--danger);font-size:var(--fs-xs)}.gate-erro-campo:empty{margin:0 0 10px}.gate-dicas{margin:0 0 18px;padding:12px 14px 12px 30px;border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}.gate-dicas li+li{margin-top:4px}.gate-dicas strong{color:var(--text)}.access-gate-panel .gate-voltar{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;text-decoration:none}.access-gate-panel .gate-voltar:hover{text-decoration:underline}.gate-voltar .icon{width:14px;height:14px}.gate-progresso{position:relative;height:4px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.gate-progresso span{position:absolute;top:0;right:0;bottom:0;left:0;width:40%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--sel));animation:gate-progresso 1.1s ease-in-out infinite}@keyframes gate-progresso{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.gate-progresso span{animation:none;width:100%;opacity:.5}}.medidor-senha{margin:6px 0 12px;--medidor-cor: var(--line-strong, var(--line))}.medidor-barras{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.medidor-barras span{height:4px;border-radius:999px;background:var(--line);transition:background-color .2s ease}.medidor-texto{margin-top:6px;min-height:1.4em;color:var(--text-muted);font-size:var(--fs-xs);line-height:1.4}.medidor-rotulo{color:var(--medidor-cor);font-weight:var(--fw-semibold)}.medidor-senha[data-nivel="0"],.medidor-senha[data-nivel="1"]{--medidor-cor: var(--danger)}.medidor-senha[data-nivel="2"]{--medidor-cor: var(--warn)}.medidor-senha[data-nivel="3"]{--medidor-cor: color-mix(in srgb, var(--sel) 75%, var(--text))}.medidor-senha[data-nivel="4"]{--medidor-cor: var(--success)}.medidor-senha[data-nivel="0"] .medidor-barras span:nth-child(-n+1),.medidor-senha[data-nivel="1"] .medidor-barras span:nth-child(-n+1),.medidor-senha[data-nivel="2"] .medidor-barras span:nth-child(-n+2),.medidor-senha[data-nivel="3"] .medidor-barras span:nth-child(-n+3),.medidor-senha[data-nivel="4"] .medidor-barras span:nth-child(-n+4){background:var(--medidor-cor)}.medidor-senha[data-nivel=vazio] .medidor-dica{color:var(--text-faint)}.access-gate-panel .btn[disabled]{opacity:.55;cursor:not-allowed}.app{flex:1;display:flex;min-height:0}aside{width:350px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:18px 16px 40px}main{flex:1;min-width:0;display:flex;gap:28px;background:var(--workspace)}.canvas-column{flex:1;min-width:0;display:flex;flex-direction:column}.section{margin-bottom:22px}.section-title{font-family:var(--font-ui);font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);margin:0 0 10px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:var(--line)}label{display:block;font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:4px}.row{display:flex;gap:8px;margin-bottom:10px}.row>div{flex:1}input[type=text],input[type=number],input[type=email],input[type=password],input[type=tel],select{width:100%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:var(--radius);padding:8px 10px;font-family:var(--font-ui);font-size:var(--fs-base);outline:none}input[inputmode=decimal],input[inputmode=numeric],input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}input::placeholder{color:var(--text-faint)}input:hover,select:hover{border-color:var(--line-strong)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.checkline{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:10px;cursor:pointer}.checkline input{accent-color:var(--accent);width:14px;height:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;padding:8px 14px;border-radius:var(--radius);border:1px solid transparent;background:var(--surface-2);color:var(--text);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-base);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .05s ease;margin-bottom:8px}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary-bg);color:var(--primary-ink)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:linear-gradient(135deg,var(--sel),#0f96a8);border-color:transparent;color:var(--primary-ink)}.btn-secondary:hover{background:linear-gradient(135deg,#3ad4e8,#12aac0);border-color:transparent}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--line-strong)}.btn-danger{color:var(--danger);background:var(--danger-soft)}.btn-danger:hover{background:var(--danger);color:var(--on-danger)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-row{display:flex;gap:8px}.btn-row .btn{margin-bottom:0}.color-swatch{display:inline-block;width:22px;height:22px;border-radius:4px;border:1px solid var(--line-strong);flex-shrink:0}.brush-size-presets{display:flex;align-items:center;gap:6px;margin:-2px 0 10px}.brush-size-preset{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;flex-shrink:0;transition:border-color .12s ease}.brush-size-preset:hover{border-color:var(--line-strong)}.brush-size-preset.active{border-color:var(--accent);background:var(--accent-soft)}.brush-size-preset-dot{display:block;border-radius:50%;background:var(--text)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);padding:22px 10px;text-align:center;color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;margin-bottom:10px;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent);background:var(--hover-overlay)}.dropzone.drag{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.dropzone b{color:var(--text);display:block;font-size:var(--fs-base);margin-bottom:2px}#fileInput{display:none}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}#libraryThumbs{max-height:322px;overflow-y:auto;padding-right:2px}.thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);cursor:pointer;transition:border-color .15s ease;background:linear-gradient(45deg,var(--check-b) 25%,transparent 25%) 0 0 / 10px 10px,linear-gradient(-45deg,var(--check-b) 25%,transparent 25%) 0 0 / 10px 10px,linear-gradient(45deg,transparent 75%,var(--check-b) 75%) 0 0 / 10px 10px,linear-gradient(-45deg,transparent 75%,var(--check-b) 75%) 0 0 / 10px 10px,var(--check-a)}.thumb:hover{border-color:var(--line-strong)}.thumb.selected{border-color:var(--accent);outline:1px solid var(--accent)}.thumb img{width:100%;height:100%;object-fit:contain}.tabs{display:flex;gap:2px;margin-bottom:8px;padding:3px;background:var(--surface-2);border-radius:var(--radius)}.tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:6px 4px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.tab:hover{color:var(--text)}.tab.active{background:var(--seg-active);color:var(--text);box-shadow:var(--shadow-sm)}.thumb-preset{cursor:default;display:flex;flex-direction:column;aspect-ratio:auto;height:auto;padding-bottom:4px}.thumb-preset img{height:auto;aspect-ratio:1;flex-shrink:0}.size-select{border:none;border-top:1px solid var(--line);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);line-height:1;padding:4px 3px;border-radius:0;cursor:pointer;outline:none}.size-select:hover,.size-select:focus{color:var(--accent-text)}.link-btn{background:none;border:none;padding:0;color:var(--danger);text-decoration:underline;cursor:pointer;font:inherit}.empty-note{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 8px;margin-bottom:10px}.no-selection{font-size:var(--fs-sm);color:var(--text-muted);font-style:italic;padding:6px 0 2px}.usage-bar-track{height:6px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden;margin-top:6px}.usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--sel));border-radius:var(--radius-pill);width:0%;transition:width .2s}.usage-label{display:flex;justify-content:space-between;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-muted);margin-top:5px}.hint{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.5;margin-top:6px}.hint b{color:var(--text);font-weight:var(--fw-semibold)}.hint-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:50%;color:var(--text-muted);cursor:help;vertical-align:middle}.hint-icon .icon{width:14px;height:14px}.hint-icon:hover,.hint-icon:focus-visible{color:var(--accent-text, var(--text));outline:none}.hint-tooltip{position:fixed;width:max-content;max-width:220px;background:var(--surface-3);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-regular);line-height:1.45;text-align:left;white-space:normal;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;transform:translateY(4px);z-index:2300}.hint-tooltip.show{opacity:1;transform:translateY(0)}.canvas-toolbar{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.canvas-toolbar .btn{width:auto;margin-bottom:0;white-space:nowrap}.zoom-controls{display:flex;align-items:center;gap:4px;margin-left:auto}.zoom-btn{width:26px;height:26px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-md);display:flex;align-items:center;justify-content:center}.zoom-btn:hover{background:var(--surface-2);color:var(--text)}.zoom-btn:disabled{opacity:.4;cursor:not-allowed;background:transparent}.zoom-label{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-muted);width:46px;text-align:center}.page-tabs{display:flex;align-items:center;gap:4px;padding:6px 20px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0;overflow-x:auto}.page-tab{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.page-tab:hover,.page-tab.active{background:var(--surface-2);color:var(--text)}.page-tab.active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.page-tab-drop-target{background:var(--sel);color:var(--bg);outline:2px dashed var(--sel);outline-offset:2px}.page-tab-remove{color:var(--text-muted);font-size:var(--fs-xs);line-height:1;padding:2px;border-radius:4px}.page-tab-remove:hover{color:var(--danger)}.page-tab-add{width:auto;min-height:30px;margin-bottom:0;white-space:nowrap;border-color:transparent;color:var(--text-muted)}.canvas-area{flex:1;min-height:0;display:flex;overflow:hidden}.canvas-scroll{flex:1;min-width:0;overflow:auto;padding:36px 40px 60px}.canvas-scroll.space-pan-mode,.canvas-scroll.space-pan-mode *{cursor:grab!important}.canvas-scroll.space-pan-active,.canvas-scroll.space-pan-active *{cursor:grabbing!important}.sheet-wrap{display:inline-block;position:relative;padding-left:34px;padding-top:26px}.image-tools-panel{flex:0 0 340px;width:340px;max-width:340px;margin:10px 40px 40px 0;align-self:flex-start;max-height:calc(100% - 50px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.image-tools-panel-head{display:flex;align-items:center;gap:8px;padding:13px 16px;border-bottom:1px solid var(--line);font-family:var(--font-ui);font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);flex-shrink:0}.image-tools-panel-icon{font-size:var(--fs-lg)}.image-tools-panel-body{padding:16px;flex:1;min-height:0;overflow-y:auto}.item-panel-body{padding:16px;flex-shrink:0}.image-tools-cards{display:flex;flex-direction:column;gap:10px}.tool-card{border:1px solid transparent;border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.tool-card summary{list-style:none;cursor:pointer;padding:11px 13px;display:flex;align-items:center;gap:9px;font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text);-webkit-user-select:none;user-select:none}.tool-card summary::-webkit-details-marker{display:none}.tool-card summary:after{content:"▾";margin-left:auto;color:var(--text-muted);transition:transform .15s ease}.tool-card[open] summary:after{transform:rotate(180deg)}.tool-card summary:hover{background:var(--hover-overlay)}.tool-card-icon{font-size:var(--fs-lg);line-height:1}.tool-card-body{padding:4px 13px 13px}.tool-card-body .hint{margin-top:8px}.ruler-top{position:absolute;left:34px;top:0;height:26px;right:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-micro);color:var(--text-muted)}.ruler-left{position:absolute;top:26px;left:0;width:34px;bottom:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-micro);color:var(--text-muted)}.tick{position:absolute}.ruler-top .tick{top:14px;border-left:1px solid var(--line);padding-left:2px;height:10px}.ruler-top .tick.major{border-left-color:var(--text-muted);top:6px;height:18px}.ruler-left .tick{left:8px;border-top:1px solid var(--line);width:10px}.ruler-left .tick.major{border-top-color:var(--text-muted);left:0;width:18px}.ruler-left .tick span{position:absolute;left:-2px;top:-7px;transform:translate(-100%)}.sheet{position:relative;background:linear-gradient(45deg,var(--check-b) 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(-45deg,var(--check-b) 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(45deg,transparent 75%,var(--check-b) 75%) 0 0 / 16px 16px,linear-gradient(-45deg,transparent 75%,var(--check-b) 75%) 0 0 / 16px 16px,var(--check-a);outline:1px solid var(--line-strong);box-shadow:var(--shadow-lg);overflow:hidden}.perf{position:absolute;top:0;bottom:0;width:14px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;pointer-events:none;z-index:2}.perf.left{left:-14px}.perf.right{right:-14px}.perf i{width:6px;height:6px;border-radius:50%;background:var(--workspace);border:1px solid var(--line-strong)}.crop{position:absolute;width:14px;height:14px;pointer-events:none;z-index:3}.crop:before,.crop:after{content:"";position:absolute;background:var(--text-muted)}.crop:before{width:14px;height:1.5px;top:6px;left:0}.crop:after{width:1.5px;height:14px;left:6px;top:0}.crop.tl{top:-7px;left:-7px}.crop.tr{top:-7px;right:-7px}.crop.bl{bottom:-7px;left:-7px}.crop.br{bottom:-7px;right:-7px}.safe-margin{position:absolute;border:1.5px dashed color-mix(in srgb,var(--accent) 60%,transparent);pointer-events:none;z-index:1}.item{position:absolute;cursor:grab;touch-action:none;outline:1px dashed var(--item-outline)}.item img,.item canvas{width:100%;height:100%;display:block;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.item.selected{outline:1.5px solid var(--sel);z-index:10}.item.picking-color,.item.picking-color:active{cursor:crosshair}.item.painting-erase,.item.painting-erase:active{cursor:none}.brush-cursor{position:fixed;border:1.5px solid var(--sel);background:color-mix(in srgb,var(--sel) 15%,transparent);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:1000;display:none}.color-loupe{position:fixed;pointer-events:none;z-index:1001;display:none;border-radius:10px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);background:var(--surface)}.color-loupe canvas{display:block}.color-loupe-info{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:var(--fs-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.color-loupe-swatch{width:16px;height:16px;border-radius:4px;border:1px solid var(--line);flex-shrink:0;background-image:linear-gradient(45deg,var(--text-faint) 25%,transparent 25%,transparent 75%,var(--text-faint) 75%),linear-gradient(45deg,var(--text-faint) 25%,transparent 25%,transparent 75%,var(--text-faint) 75%);background-size:8px 8px;background-position:0 0,4px 4px}.color-loupe-swatch-transparent{background-color:transparent}.align-guide{position:absolute;background:var(--guide);pointer-events:none;z-index:30}.align-guide-v{top:0;bottom:0;width:1px}.align-guide-h{left:0;right:0;height:1px}.marquee-select{position:absolute;border:1px solid var(--sel);background:color-mix(in srgb,var(--sel) 12%,transparent);pointer-events:none;z-index:40}.item:active{cursor:grabbing}.item-toolbar{position:absolute;top:-30px;left:0;display:none;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:3px;z-index:20}.item.selected .item-toolbar{display:flex}.item-toolbar button{width:22px;height:22px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);display:flex;align-items:center;justify-content:center}.item-toolbar button:hover{background:var(--surface-2);color:var(--text)}.item-toolbar button.danger:hover{background:var(--danger-soft);color:var(--danger)}.handle{position:absolute;display:none;z-index:20}.item.selected .handle{display:block}.handle-resize{width:13px;height:13px;right:-7px;bottom:-7px;background:var(--sel);border:2px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--sel);cursor:nwse-resize}.handle-rotate{width:11px;height:11px;left:50%;top:-24px;transform:translate(-50%);background:var(--surface);border:1.5px solid var(--sel);border-radius:50%;cursor:crosshair}.handle-rotate:before{content:"";position:absolute;top:11px;left:50%;width:1px;height:14px;background:var(--sel);transform:translate(-50%)}.handle-crop{background:var(--surface);border:1.5px solid var(--sel);border-radius:3px}.handle-crop-top,.handle-crop-bottom{width:16px;height:8px;left:50%;transform:translate(-50%);cursor:ns-resize}.handle-crop-top{top:-4px}.handle-crop-bottom{bottom:-4px}.handle-crop-left,.handle-crop-right{width:8px;height:16px;top:50%;transform:translateY(-50%);cursor:ew-resize}.handle-crop-left{left:-4px}.handle-crop-right{right:-4px}.item-crop-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.item-crop-clip img{position:absolute;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.size-label{position:absolute;left:50%;bottom:-26px;transform:translate(-50%);background:var(--sel);border:none;color:var(--accent-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap;z-index:25;pointer-events:none;box-shadow:var(--shadow-sm)}.empty-canvas-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--text-muted);font-size:var(--fs-base);text-align:center;pointer-events:none}.empty-canvas-msg b{color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:500;padding:24px}.modal-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;width:100%;max-width:min(920px,100%);max-height:86vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-header h2{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0}.modal-close{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-lg);cursor:pointer;padding:4px 8px}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:16px 20px;overflow:auto}.modal-footer{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--line);flex-shrink:0}.modal-footer .btn-danger{width:auto;margin-bottom:0;white-space:nowrap}.modal-footer .btn-row{margin-left:auto}.dlg-container{z-index:2200;padding:24px}.dlg-container.swal2-backdrop-show{background:var(--scrim)}.dlg{width:min(420px,100%);padding:24px 24px 20px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-family:var(--font-ui);text-align:left}.dlg-title{padding:0;margin:0;color:var(--text);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;line-height:1.25;text-align:left;text-wrap:balance}.dlg-text{margin:8px 0 0;padding:0;color:var(--text-muted);font-size:var(--fs-base);line-height:1.55;text-align:left}.dlg-input{width:100%;margin:16px 0 0;height:auto;box-shadow:none}.dlg-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dlg-validation{margin:8px 0 0;padding:0;background:transparent;color:var(--danger);font-size:var(--fs-sm);justify-content:flex-start}.dlg-validation:before{display:none}.dlg-actions{width:100%;justify-content:flex-end;gap:8px;margin:22px 0 0;padding:0}.dlg-actions .btn{width:auto;margin:0}@media(prefers-reduced-motion:reduce){.dlg-container,.dlg{animation:none!important;transition:none!important}}.size-config-panel{max-width:min(1180px,100%)}.size-config-crop-section{display:flex;align-items:center;gap:14px;padding:12px;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px}.size-config-crop-text{flex:1;min-width:0}.size-config-crop-text b{display:block;font-size:var(--fs-base);margin-bottom:2px}.size-config-crop-section .btn{width:auto;flex-shrink:0;margin-bottom:0;white-space:nowrap}.size-config-labels-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px}.size-config-labels-bar-title{font-size:var(--fs-sm);color:var(--text-muted);font-weight:var(--fw-semibold);white-space:nowrap}.size-config-label-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:120px}.size-config-labels-empty{font-size:var(--fs-sm);color:var(--text-muted)}.size-config-label-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-3);border:1px solid var(--line);border-radius:20px;padding:4px 8px 4px 12px;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.size-config-label-chip .size-config-row-remove{padding:0 2px}.size-config-add-label{display:flex;align-items:center;gap:6px;margin-left:auto}.size-config-add-label input{width:150px;padding:6px 10px;border-radius:20px}.size-config-add-label .btn{width:auto;flex-shrink:0;margin-bottom:0;border-radius:20px;padding:7px 14px;white-space:nowrap}.size-config-empty-state{text-align:center;padding:44px 24px;border:1.5px dashed var(--line);border-radius:10px;color:var(--text-muted)}.size-config-empty-state b{display:block;color:var(--text);font-size:var(--fs-lg);margin-bottom:8px}.size-config-empty-state p{max-width:480px;margin:0 auto}.size-config-grid-wrap{overflow:auto;max-height:58vh;padding:2px}.size-config-grid{display:flex;flex-direction:column;gap:8px}.size-config-card{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:8px 10px;display:flex;align-items:center;gap:14px}.size-config-card-head{display:flex;align-items:center;gap:8px;width:230px;flex-shrink:0}.size-config-card-head img{width:36px;height:36px;object-fit:contain;border-radius:6px;border:1px solid var(--line);background:var(--surface);flex-shrink:0}.size-config-card-name{flex:1;min-width:0;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.size-config-row-remove{background:none;border:none;color:var(--text-muted);font-size:var(--fs-sm);line-height:1;padding:2px 4px;cursor:pointer;flex-shrink:0}.size-config-row-remove:hover{color:var(--danger)}.size-config-card-sizes{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.size-config-field{display:flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px;flex-shrink:0}.size-config-field span{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-muted)}.size-config-field input{width:4ch;min-width:34px;flex-shrink:0;border:none;background:transparent;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);padding:2px 0;text-align:right}.size-config-field input:focus{outline:none}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(20px);background:var(--toast-bg);border:none;border-left:3px solid var(--success);color:var(--toast-text);padding:11px 18px;border-radius:var(--radius);font-size:var(--fs-base);font-weight:var(--fw-semibold);opacity:0;transition:all .25s ease;z-index:2100;pointer-events:none;box-shadow:var(--shadow-lg)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.warn{border-left-color:var(--warn)}.toast.err{border-left-color:var(--danger)}.whatsapp-btn{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;background:#25d366;color:#0b1f13;text-decoration:none;font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-sm);line-height:1.1;white-space:nowrap;padding:8px 13px 8px 10px;border-radius:999px;transition:background-color .12s ease,transform .05s ease}.whatsapp-btn:hover{background:#33e378}.whatsapp-btn:active{transform:scale(.97)}.whatsapp-btn svg{flex-shrink:0}@media(max-width:860px){.whatsapp-btn span{display:none}.whatsapp-btn{padding:9px}}.whatsapp-fab{position:fixed;right:20px;bottom:20px;z-index:2100;display:flex;align-items:center;gap:9px;background:#25d366;color:#0b1f13;text-decoration:none;font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-sm);line-height:1.1;padding:11px 16px 11px 11px;border-radius:999px;box-shadow:var(--shadow-md);transition:background-color .12s ease,transform .05s ease}.whatsapp-fab:hover{background:#33e378}.whatsapp-fab:active{transform:scale(.97)}.whatsapp-fab svg{flex-shrink:0}@media(max-width:640px){.whatsapp-fab span{display:none}.whatsapp-fab{padding:12px}}.projects-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.project-row{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:6px 8px}.project-row span{flex:1;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-base);padding:2px 4px}.project-row button:hover{color:var(--text)}.project-row button:last-child:hover{color:var(--danger)}.screen-nav{display:flex;flex:0 0 auto;gap:2px;padding:3px;background:var(--surface-2);border-radius:calc(var(--radius) + 2px)}.screen-nav .btn{width:auto;min-height:32px;margin-bottom:0;white-space:nowrap;border-color:transparent;color:var(--text-muted)}.screen-nav .btn:hover{background:transparent;color:var(--text)}.screen-nav .btn.active{background:var(--seg-active);color:var(--text);box-shadow:var(--shadow-sm)}#mockupScreen{flex:1;min-height:0;display:flex}.mockup-screen{position:relative;flex:1;display:flex;min-height:0;width:100%}.mockup-download-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0a0a0cb8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:wait}.mockup-download-spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.18);border-top-color:var(--accent);animation:mockup-spin .8s linear infinite}@keyframes mockup-spin{to{transform:rotate(360deg)}}.mockup-download-overlay-text{margin:0;color:#fff;font-size:var(--fs-md);font-weight:var(--fw-medium)}.mockup-sidebar{width:350px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:18px 16px 40px}.mockup-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--workspace)}.mockup-template-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}#mockupArtworkList{max-height:322px;overflow-y:auto;padding-right:2px}.mockup-template-thumb{position:relative;width:72px;height:72px;border-radius:8px;border:1.5px solid var(--line);overflow:hidden;cursor:pointer;background:var(--surface-2)}.mockup-template-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mockup-template-thumb.active{border-color:var(--accent)}.mockup-template-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:4px;border:none;background:#0009;color:#fff;font-size:var(--fs-xs);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.mockup-template-remove:hover{background:var(--danger)}.mockup-template-pin{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:4px;background:#0009;font-size:var(--fs-2xs);line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:none}.mockup-template-label{position:absolute;left:0;right:0;bottom:0;padding:2px 4px 3px;background:linear-gradient(to top,#000000bf,#0000);color:#fff;font-size:var(--fs-micro);font-weight:var(--fw-semibold);line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.mockup-color-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mockup-color-row input[type=color]{width:36px;height:32px;padding:2px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer}.mockup-color-swatches{display:flex;gap:6px;flex-wrap:wrap}.mockup-swatch{width:22px;height:22px;border-radius:5px;border:1.5px solid var(--line);cursor:pointer;padding:0}.mockup-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}#mockupRegionPresets{margin-bottom:8px}.mockup-slot-list{display:flex;flex-direction:column;gap:6px;margin:10px 0}.mockup-slot-row{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1.5px solid var(--line);border-radius:6px;padding:5px 8px;cursor:pointer}.mockup-slot-row.active{border-color:var(--accent)}.mockup-slot-row img,.mockup-slot-thumb-empty{width:28px;height:28px;border-radius:4px;object-fit:cover;flex-shrink:0;background:var(--surface-3)}.mockup-slot-row span{flex:1;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mockup-slot-remove{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-base);padding:2px 4px;flex-shrink:0}.mockup-slot-remove:hover{color:var(--danger)}.mockup-slot-editor{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:10px}.mockup-slot-editor-hint{margin:0 0 8px}.mockup-slot-editor label{display:flex;justify-content:space-between;font-size:var(--fs-sm);margin-bottom:4px}.mockup-slot-editor input[type=range]{width:100%;accent-color:var(--accent)}.mockup-sessions-grid{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:24px;flex:1;padding:18px;overflow:auto}.mockup-sessions-grid.mockup-crosshair,.mockup-sessions-grid.mockup-crosshair *{cursor:crosshair}.mockup-session-card{position:relative;display:flex;flex-direction:column;width:max-content;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.mockup-session-card.active{border-color:var(--accent);z-index:2}.mockup-session-card.dragging{opacity:.55;z-index:3}.mockup-session-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface-2);cursor:move;touch-action:none}.mockup-session-title{flex:1 1 60px;min-width:60px;font-size:var(--fs-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mockup-session-card.active .mockup-session-title{color:var(--text)}.mockup-session-select{flex-shrink:0;width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.mockup-session-action{width:26px;height:26px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-base);flex-shrink:0}.mockup-session-action:hover{background:var(--surface-3);color:var(--text)}.mockup-add-session-fab{position:absolute;right:24px;bottom:24px;z-index:10;width:52px;height:52px;border-radius:50%;border:none;background:var(--primary-bg);color:var(--primary-ink);font-size:var(--fs-3xl);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:filter .12s ease,transform .05s ease}.mockup-add-session-fab:hover{background:var(--primary-hover)}.mockup-add-session-fab:active{transform:scale(.96)}.mockup-organize-fab{position:absolute;right:88px;bottom:24px;z-index:10;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:var(--fs-2xl);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:filter .12s ease,transform .05s ease}.mockup-organize-fab:hover{background:var(--surface-2)}.mockup-organize-fab:active{transform:scale(.96)}.mockup-download-all-fab{position:absolute;right:152px;bottom:24px;z-index:10;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:var(--fs-2xl);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:filter .12s ease,transform .05s ease}.mockup-download-all-fab:hover{background:var(--surface-2)}.mockup-download-all-fab:active{transform:scale(.96)}.mockup-session-resize-handle{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;border-radius:3px;background:var(--surface-2);border:1.5px solid var(--line);cursor:nwse-resize;touch-action:none}.mockup-session-card.active .mockup-session-resize-handle{border-color:var(--accent);background:var(--accent)}.mockup-session-body{flex:1;display:flex;padding:14px;overflow:auto}.mockup-canvas-wrap{position:relative;margin:auto;line-height:0;flex-shrink:0;overflow:hidden}.mockup-canvas-wrap canvas{display:block;border-radius:4px;box-shadow:var(--shadow-md);position:absolute}.mockup-empty-hint{color:var(--text-muted);font-size:var(--fs-base);line-height:1.5;max-width:260px;text-align:center}.mockup-slot-overlays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mockup-region-overlay,.mockup-region-draw-rect{position:absolute;pointer-events:none;border:1.5px dashed rgba(158,155,166,.55)}.mockup-region-overlay.active{border-color:var(--sel);background:color-mix(in srgb,var(--sel) 10%,transparent);pointer-events:auto;cursor:move}.mockup-region-resize-handle{position:absolute;width:12px;height:12px;transform:translate(-50%,-50%);background:var(--sel);border:1.5px solid #fff;border-radius:3px;cursor:nwse-resize;touch-action:none}.mockup-region-draw-rect{border-color:var(--sel);background:color-mix(in srgb,var(--sel) 14%,transparent)}.mockup-art-body{position:absolute;outline:1.5px dashed var(--sel);cursor:move;touch-action:none}.mockup-art-handle-scale,.mockup-art-handle-rotate{position:absolute;background:var(--sel);border:1.5px solid #fff;touch-action:none}.mockup-art-handle-scale{width:12px;height:12px;right:-6px;bottom:-6px;border-radius:3px;cursor:nwse-resize}.mockup-art-handle-rotate{width:12px;height:12px;left:50%;top:-26px;transform:translate(-50%);border-radius:50%;cursor:alias}.mockup-footer{display:flex;gap:10px;justify-content:center;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface)}.mockup-footer .btn{width:auto;margin-bottom:0}.vectorize-screen{flex:1;display:flex;min-height:0;width:100%}.vectorize-sidebar{width:350px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:18px 16px 40px}.vectorize-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.vectorize-preview{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px;background:var(--workspace)}.vectorize-preview svg{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.vectorize-preview img{display:block;max-width:100%;max-height:100%}.mobile-block{display:none}@media(max-width:820px){.mobile-block{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center;background:var(--bg);color:var(--text);font-family:var(--font-ui)}.mobile-block-icon{font-size:var(--fs-display);line-height:1}.mobile-block h1{margin:0;font-size:var(--fs-2xl)}.mobile-block p{margin:0;max-width:360px;color:var(--text-muted);font-size:var(--fs-lg);line-height:1.5}}.help-modal-panel{max-width:min(760px,100%);max-height:82vh}.help-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.help-tab{background:transparent;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--fs-sm);padding:6px 14px;cursor:pointer}.help-tab:hover{color:var(--text)}.help-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:var(--fw-semibold)}.help-modal-body{display:flex;flex-direction:column;gap:8px}.help-item{border:1px solid transparent;border-radius:var(--radius);background:var(--surface-2);padding:4px 14px}.help-item summary{cursor:pointer;padding:10px 0;font-size:var(--fs-base);font-weight:var(--fw-semibold);list-style:none}.help-item summary::-webkit-details-marker{display:none}.help-item summary:before{content:"▸";display:inline-block;width:14px;color:var(--text-muted)}.help-item[open] summary:before{content:"▾"}.help-item-body{padding:0 0 14px 14px;color:var(--text-muted);font-size:var(--fs-base);line-height:1.55}.help-item-body p{margin:0 0 8px}.help-item-body p:last-child{margin-bottom:0}.help-item-body ul{margin:0 0 8px;padding-left:18px}.help-item-body li{margin-bottom:4px}.help-item-body b{color:var(--text)}.help-item-body code{background:var(--surface-3);border-radius:4px;padding:1px 5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.admin-page{min-height:100vh;padding:24px;max-width:1180px;margin:0 auto}.admin-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.admin-header .head-spacer{flex:1}.admin-header-user{font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-muted);text-align:right}.admin-header-user b{color:var(--text);display:block;font-size:var(--fs-base)}.admin-login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px}.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.admin-card-label{font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.admin-card-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);color:var(--text)}.admin-card-value.accent-cyan{color:var(--accent-text)}.admin-card-value.accent-yellow{color:var(--success)}.admin-card-value.accent-danger{color:var(--danger)}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:22px}.admin-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.admin-panel-head h2{font-size:var(--fs-md);margin:0;flex:1}.admin-panel-head select,.admin-panel-head input{width:auto}.admin-chart{display:block;width:100%;height:180px;overflow:visible}.admin-bar-cad{fill:var(--chart-1)}.admin-bar-log{fill:var(--chart-2)}.admin-chart-label{fill:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-micro)}.admin-chart-legend{display:flex;gap:18px;margin-top:8px;font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--text-muted)}.admin-chart-legend span{display:inline-flex;align-items:center;gap:6px}.admin-chart-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.admin-search-row{display:flex;gap:8px;margin-bottom:14px}.admin-search-row input{flex:1}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.admin-table th{text-align:left;font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--line);padding:8px 10px;white-space:nowrap}.admin-table td{padding:9px 10px;border-bottom:1px solid var(--surface-3);vertical-align:middle;white-space:nowrap}.admin-table tr:last-child td{border-bottom:none}.admin-table td.admin-td-email{white-space:normal;min-width:180px}.admin-td-email small{display:block;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--fs-xs)}.admin-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-family:var(--font-ui);font-size:var(--fs-2xs);border:1px solid var(--line)}.admin-badge-trial{color:var(--accent-text);border-color:var(--accent)}.admin-badge-pago{color:var(--success);border-color:var(--success)}.admin-badge-expirado{color:var(--danger);border-color:var(--danger)}.admin-badge-admin{color:var(--text);border-color:var(--text-muted);margin-left:6px}.admin-row-edit{display:flex;gap:6px;align-items:center}.admin-row-edit input[type=number]{width:64px}.admin-row-edit select{width:120px}.admin-row-edit .btn{width:auto;margin-bottom:0;padding:6px 10px;font-size:var(--fs-sm)}.admin-pagination{display:flex;align-items:center;gap:10px;margin-top:12px;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-muted)}.admin-pagination .btn{width:auto;margin-bottom:0;padding:6px 12px}.admin-empty{color:var(--text-muted);font-size:var(--fs-base);padding:18px 0;text-align:center}
