@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";html,body,#root{width:100%;min-height:100vh;margin:0}body{color:var(--ink,#122133);background:var(--body-bg,radial-gradient(1200px 600px at -10% -20%, #edf3ff 0%, transparent 55%), radial-gradient(1100px 500px at 105% -30%, #e8f6f7 0%, transparent 55%), linear-gradient(180deg, #f7faff 0%, #eef3fa 100%));font-family:Manrope,sans-serif}p{margin:0}:root{--ink:#1b2430;--soft-ink:#5f7085;--surface:#eef4fb;--surface-strong:#e3ecf7;--paper:#fff;--sheet-paper:#fff;--body-bg:radial-gradient(1400px 700px at -12% -18%, #d6e8ff 0%, transparent 58%), radial-gradient(1200px 620px at 112% -22%, #d9f4ef 0%, transparent 60%), linear-gradient(180deg, #f8fbff 0%, #edf3fb 100%);--brand:#0f62fe;--brand-deep:#0043ce;--accent:#0f766e;--line:#d4deea;--topbar-bg:#ffffffdb;--topbar-border:#97abc659;--tool-bg:#f4f8ff;--tool-bg-hover:#e8f0ff;--tool-fg:#26384d;--brand-fg:#17283d;--brand-divider:#d7e0eb;--menu-bg:#fff;--panel-bg:linear-gradient(180deg, #fffffff5 0%, #f8fbfff0 100%);--panel-header-bg:linear-gradient(180deg, #f0f7fff2, #ffffffd1);--shadow:0 20px 40px #1126441f;--state-info:#2f67c8;--state-info-soft:#eaf2ff;--state-info-text:#1146a5;--state-warning:#de6b00;--state-warning-soft:#fff5e7f5;--state-warning-ring:#de6b004d;--state-danger:#c23c3c;--state-danger-soft:#fff1f1;--state-danger-border:#f2cdcd;--state-danger-text:#a32020;--state-danger-ring:#c23c3c52;--guide-primary:#0f62feb8;--guide-secondary:#0b7780ad;--drop-outline:#0f62fe80;--selection-ring:#0f62fe3d}.theme-dark{--ink:#e7eef9;--soft-ink:#a0b2cb;--surface:#0d1626;--surface-strong:#142138;--paper:#111b2d;--sheet-paper:#101a2a;--body-bg:radial-gradient(1300px 650px at -10% -18%, #1c2f50 0%, transparent 58%), radial-gradient(1200px 620px at 112% -26%, #17343d 0%, transparent 60%), linear-gradient(180deg, #081221 0%, #0b1729 100%);--brand:#63a2ff;--brand-deep:#2c6cdf;--accent:#2ea597;--line:#2b3a54;--topbar-bg:#0c1424d1;--topbar-border:#657a994d;--tool-bg:#182740;--tool-bg-hover:#223451;--tool-fg:#dce7f9;--brand-fg:#e4edf9;--brand-divider:#2a3850;--menu-bg:#121d30;--panel-bg:linear-gradient(180deg, #111b2d 0%, #0f1829 100%);--panel-header-bg:linear-gradient(180deg, #1b283df2, #121d30cc);--shadow:0 16px 34px #02081473;--state-info:#4f86ff;--state-info-soft:#223a63;--state-info-text:#ddebff;--state-warning:#e59b4a;--state-warning-soft:#382713eb;--state-warning-ring:#e59b4a6b;--state-danger:#f08a8a;--state-danger-soft:#3a1f27;--state-danger-border:#6f3946;--state-danger-text:#ffc6c6;--state-danger-ring:#f08a8a6b;--guide-primary:#7baaffd1;--guide-secondary:#40c9b5d1;--drop-outline:#4f86ffad;--selection-ring:#7baaff52}*{box-sizing:border-box}.topbar{z-index:200;border-bottom:1px solid var(--topbar-border);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:flex-start;align-items:center;gap:16px;padding:12px 18px;display:flex;position:sticky;top:0}.brand{border-right:1px solid var(--brand-divider);align-items:center;gap:10px;padding-right:14px;display:inline-flex}.brand-badge{background:linear-gradient(130deg, var(--brand) 0%, var(--brand-deep) 100%);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;height:26px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.brand-copy{gap:1px;display:grid}.brand-title{color:var(--brand-fg);letter-spacing:.01em;font-size:14px;font-weight:800}.brand-subtitle{color:var(--soft-ink);font-size:11px;font-weight:600}.menu-row{align-items:center;gap:8px;display:flex}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-view-indicator{border:1px solid var(--line);background:color-mix(in srgb, var(--tool-bg) 75%, transparent);color:var(--soft-ink);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.topbar-print-btn{border:1px solid var(--line);background:var(--tool-bg);color:var(--tool-fg);border-radius:10px;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.topbar-print-btn:hover{background:var(--tool-bg-hover)}.topbar-print-btn:disabled{opacity:.55;cursor:not-allowed}.theme-toggle-btn{width:36px;height:34px;padding:0}.theme-toggle-btn svg{stroke:currentColor;fill:none;stroke-width:1.9px;width:16px;height:16px}.account-menu-panel{left:auto;right:0}.properties-panel{gap:10px;min-width:240px}.properties-group{gap:6px;display:grid}.properties-group label{color:var(--soft-ink);font-size:11px;font-weight:700}.properties-group select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;padding:7px 9px;font-family:JetBrains Mono,monospace;font-size:12px}.properties-zoom-controls{align-items:center;gap:6px;display:inline-flex}.properties-zoom-controls button{min-width:30px;padding:6px 8px}.properties-zoom-controls span{text-align:center;min-width:52px;color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px}.menu-row svg{stroke:currentColor;fill:none;stroke-width:1.9px;flex:none;width:14px;height:14px}.menu-nav-btn{cursor:pointer;background:var(--tool-bg);color:var(--tool-fg);border:0;border-radius:10px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.menu-nav-btn:hover,.menu-nav-btn.active{background:var(--tool-bg-hover)}details.menu{position:relative}.menu summary{cursor:pointer;background:var(--tool-bg);color:var(--tool-fg);border:0;border-radius:10px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.menu[open] summary,.menu summary:hover{background:var(--tool-bg-hover)}.menu summary::-webkit-details-marker{display:none}.menu-panel{border:1px solid var(--line);background:var(--menu-bg);z-index:500;border-radius:14px;gap:6px;min-width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 38px #0f172a29}.menu-option{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;width:100%;padding:8px 9px;font-size:12px;font-weight:500;display:block}.menu-option:hover{background:var(--surface);border-color:var(--line)}.menu-option small{color:var(--soft-ink);margin-top:2px;font-size:11px;display:block}.app-shell{grid-template-columns:190px minmax(0,1fr);gap:16px;height:100%;padding:18px;display:grid}.property-popup{z-index:620;border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-direction:column;gap:0;width:min(360px,100vw - 24px);max-height:calc(100vh - 108px);display:flex;position:fixed;top:86px;right:18px;overflow:hidden;box-shadow:0 20px 40px #11264433}.property-popup-header{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--tool-bg) 92%, var(--paper)), var(--paper));color:var(--tool-fg);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 8px 7px 10px;font-size:12px;font-weight:700;display:flex}.property-popup-header:active{cursor:grabbing}.property-popup-title{align-items:center;gap:7px;display:inline-flex}.property-popup-move-icon{stroke:currentColor;fill:none;stroke-width:1.8px;opacity:.8;width:14px;height:14px}.property-popup .panel{max-height:100%;box-shadow:none;border:0;border-radius:0}.property-popup-close{width:26px;height:24px;color:var(--tool-fg);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.property-popup-close:hover{background:var(--tool-bg-hover);border-color:color-mix(in srgb, var(--brand) 32%, var(--line))}.property-popup-close svg{stroke:currentColor;fill:none;stroke-width:2px;width:14px;height:14px}.property-popup .panel-header{display:none}.app-main{min-width:0;height:calc(100vh - 74px);animation:.26s app-main-in}@keyframes app-main-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.element-sidebar{flex-direction:column;min-height:0;display:flex}.element-sidebar-list{gap:8px;padding:12px;display:grid;overflow:auto}.element-sidebar-item{text-align:left;border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--paper) 96%, transparent), var(--paper));width:100%;min-width:0;color:var(--ink);border-radius:12px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:9px 10px;font-size:12px;font-weight:700;transition:transform .16s,box-shadow .16s,border-color .16s}.element-sidebar-item:hover{background:color-mix(in srgb, var(--surface) 82%, var(--paper));border-color:color-mix(in srgb, var(--brand) 40%, var(--line));color:color-mix(in srgb, var(--brand-deep) 78%, var(--ink));transform:translateY(-1px);box-shadow:0 12px 22px #16355c1f}.element-sidebar-item .toolbar-element-icon{width:20px;height:20px}.storage-page{height:100%;padding:24px;overflow:auto}.storage-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.storage-title{letter-spacing:-.01em;font-size:24px;font-weight:800}.storage-actions{flex-wrap:wrap;gap:8px;display:flex}.storage-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.fill-page{height:100%;padding:24px;overflow:auto}.fill-layout{grid-template-columns:minmax(0,1fr) 340px;gap:14px;height:calc(100% - 58px);display:grid}.preview-shell{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-strong) 100%);border-radius:18px;padding:18px;overflow:auto}.fill-preview-canvas{border:1px solid var(--line);background:linear-gradient(var(--sheet-paper), var(--sheet-paper)) padding-box, repeating-linear-gradient(0deg, #1e2a320f 0, #1e2a320f 1px, transparent 1px, transparent 28px), repeating-linear-gradient(90deg, #1e2a320f 0, #1e2a320f 1px, transparent 1px, transparent 28px);border-radius:8px;width:900px;min-height:1220px;margin:0 auto;position:relative}.fill-sidebar{border:1px solid var(--line);background:var(--paper);border-radius:18px;grid-template-rows:auto 1fr auto;gap:10px;padding:14px;display:grid}.fill-sidebar textarea{resize:vertical;border:1px solid var(--line);background:var(--paper);width:100%;min-height:340px;color:var(--ink);border-radius:10px;padding:10px;font-family:JetBrains Mono,monospace;font-size:12px}.fill-hint{color:var(--soft-ink);font-size:11px;line-height:1.45}.fill-actions{gap:8px;display:grid}.invoice-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:16px;gap:8px;padding:14px;transition:transform .17s,box-shadow .17s,border-color .17s;display:grid}.invoice-card:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--line));transform:translateY(-2px);box-shadow:0 20px 38px #11264429}.invoice-name{font-size:15px;font-weight:800}.invoice-meta{color:var(--soft-ink);font-family:JetBrains Mono,monospace;font-size:12px}.invoice-card-actions{flex-wrap:wrap;gap:8px;display:flex}.panel{border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.panel h2,.panel h3{letter-spacing:.2px;margin:0;font-weight:700}.panel-header{border-bottom:1px solid var(--line);background:var(--panel-header-bg);padding:16px 16px 13px}.panel-subtitle{color:var(--soft-ink);margin-top:6px;font-size:12px}.library-list{gap:10px;padding:12px;display:grid;overflow:auto}.library-item{border:1px solid var(--line);background:var(--paper);cursor:grab;-webkit-user-select:none;user-select:none;text-align:left;border-radius:12px;padding:10px}.library-item:hover{box-shadow:0 8px 18px #1a22261f}.library-name{font-size:14px;font-weight:700}.library-hint{color:var(--soft-ink);margin-top:3px;font-size:12px}.workspace{flex-direction:column;gap:14px;min-width:0;display:flex}.toolbar{border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--menu-bg) 97%, transparent), color-mix(in srgb, var(--tool-bg) 45%, transparent));box-shadow:var(--shadow);scrollbar-width:thin;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;overflow:auto hidden}.toolbar-left{align-items:center;gap:10px;display:inline-flex}.toolbar-right{align-items:center;gap:8px;display:inline-flex}.toolbar-chip{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, transparent);color:var(--soft-ink);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.toolbar-elements{flex:none;align-items:center;gap:8px;display:flex}.toolbar-element-item{cursor:grab;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:88px;padding:8px 10px;display:flex}.toolbar-element-item:active{cursor:grabbing}.toolbar-element-icon{width:24px;height:24px;color:var(--ink);justify-content:center;align-items:center;display:inline-flex}.toolbar-element-icon svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:18px;height:18px}.toolbar-element-label{font-size:11px;font-weight:700}.toolbar-element-item{white-space:nowrap}.toolbar .status{white-space:nowrap;color:var(--soft-ink);font-family:JetBrains Mono,monospace;font-size:12px}.status-live{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 84%, transparent);border-radius:999px;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.status-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent);border-radius:999px}.tour-launch-btn{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 14%, var(--paper));color:color-mix(in srgb, var(--brand-deep) 84%, var(--ink));border-radius:10px;padding:7px 11px;font-size:12px}.tour-launch-btn:hover{background:var(--tool-bg-hover)}.guided-tour-layer{z-index:1200;position:fixed;inset:0}.guided-tour-highlight{border:2px solid var(--state-info);pointer-events:none;border-radius:12px;transition:top .18s,left .18s,width .18s,height .18s;animation:1.8s ease-in-out infinite guided-tour-pulse;position:fixed;box-shadow:0 0 0 9999px #080e1c94,0 0 0 4px #4f86ff2e}.guided-tour-card{border:1px solid var(--line);background:var(--menu-bg);width:min(360px,100vw - 24px);color:var(--ink);border-radius:12px;gap:8px;padding:12px;animation:.22s cubic-bezier(.22,1,.36,1) guided-tour-card-in;display:grid;position:fixed;box-shadow:0 20px 40px #080e1c59}.guided-tour-step{color:var(--soft-ink);font-family:JetBrains Mono,monospace;font-size:11px}.guided-tour-card h3{margin:0;font-size:16px;font-weight:700}.guided-tour-card p{color:var(--soft-ink);margin:0;font-size:13px;line-height:1.42}.guided-tour-missing{border:1px dashed var(--line);background:var(--surface);border-radius:8px;padding:8px}.guided-tour-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@keyframes guided-tour-pulse{0%,to{box-shadow:0 0 0 9999px #080e1c94,0 0 0 4px #4f86ff29}50%{box-shadow:0 0 0 9999px #080e1c94,0 0 0 6px #4f86ff47}}@keyframes guided-tour-card-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.app-main,.guided-tour-highlight,.guided-tour-card{transition:none!important;animation:none!important}}button{border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:10px;padding:8px 10px;font-family:inherit;font-weight:600}button:hover{background:var(--tool-bg-hover)}button.primary{background:linear-gradient(140deg, var(--brand) 0%, var(--brand-deep) 100%);color:#fff;box-shadow:0 10px 20px color-mix(in srgb, var(--brand) 34%, transparent);border-color:#0000}.canvas-wrap{border:1px solid var(--line);background-color:var(--surface-strong);background-image:linear-gradient(90deg,#374a601f 1px,#0000 1px),linear-gradient(#374a601f 1px,#0000 1px);background-size:24px 24px;border-radius:16px;flex:1;min-height:0;padding:22px;position:relative;overflow:auto}.canvas-context-menu{z-index:40;border:1px solid var(--line);background:var(--menu-bg);border-radius:10px;gap:8px;min-width:220px;padding:10px;display:grid;position:absolute;box-shadow:0 16px 30px #0d213a2e}.canvas-context-title{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:7px;padding-bottom:2px;font-size:12px;font-weight:700;display:inline-flex}.canvas-context-title svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:14px;height:14px}.canvas-context-group-label{color:var(--soft-ink);text-transform:uppercase;letter-spacing:.35px;font-size:10px;font-weight:700}.canvas-context-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.canvas-context-item{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.canvas-context-item-icon{stroke:currentColor;fill:none;stroke-width:1.8px;flex:none;width:13px;height:13px}.canvas-context-item.active{border-color:var(--state-info);background:var(--state-info-soft);color:var(--state-info-text)}.canvas-context-zoom-value{color:var(--soft-ink);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px}.canvas-context-print{justify-content:center;width:100%}.canvas{border:1px solid var(--line);background:linear-gradient(var(--sheet-paper), var(--sheet-paper)) padding-box, repeating-linear-gradient(0deg, #1e2a320f 0, #1e2a320f 1px, transparent 1px, transparent 28px), repeating-linear-gradient(90deg, #1e2a320f 0, #1e2a320f 1px, transparent 1px, transparent 28px);border-radius:12px;width:900px;min-height:1220px;margin:0 auto;position:relative;box-shadow:inset 0 0 0 1px #ffffff9e,0 35px 70px #101c2c33}.canvas.canvas-no-grid{background:var(--sheet-paper)}.canvas-zoom-stage{margin:0 auto;position:relative}.canvas-zoom-content{transform-origin:0 0}.canvas.drop-ready{outline:3px dashed var(--drop-outline);outline-offset:-8px}.movement-guide{z-index:1;pointer-events:none;opacity:.9;position:absolute}.movement-guide-vertical{border-left:1px dashed var(--guide-primary);top:0;bottom:0}.movement-guide-horizontal{border-top:1px dashed var(--guide-primary);left:0;right:0}.movement-guide-secondary{border-color:var(--guide-secondary)}.canvas-block{cursor:move;-webkit-user-select:none;user-select:none;background:#ffffffe0;border:1px dashed #0000;border-radius:10px;padding:6px 8px;transition:border-color .14s,box-shadow .14s,background-color .14s;position:absolute;overflow:hidden}.canvas-block-line{padding:0 6px}.canvas-block:hover{border-color:#a7acb5}.canvas-block.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--selection-ring);background:#f3f8fff2;overflow:visible}.inline-props-card{z-index:6;white-space:nowrap;background:#fffffffa;border:1px solid #bed2ec;border-radius:12px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex;position:absolute;top:-52px;left:0;box-shadow:0 10px 22px #0c1c2c2e}.inline-props-title{text-transform:uppercase;color:#1a3659;padding-right:4px;font-size:11px;font-weight:700}.inline-props-field{align-items:center;gap:4px;display:inline-flex}.inline-props-field span{color:#3e5772;font-size:10px;font-weight:700}.inline-props-field input{background:#fff;border:1px solid #c7d6ea;border-radius:7px;width:54px;padding:3px 5px;font-family:JetBrains Mono,monospace;font-size:11px}.inline-props-field select{background:#fff;border:1px solid #c7d6ea;border-radius:7px;width:72px;padding:3px 5px;font-family:JetBrains Mono,monospace;font-size:11px}.inline-props-field-short input{width:48px}.inline-props-field-align{margin-left:2px}.inline-props-field-font select{width:120px}.inline-props-field-color input{border-radius:6px;width:30px;height:24px;padding:2px}.inline-props-toggle-group{align-items:center;gap:4px;margin-left:2px;display:inline-flex}.inline-props-toggle{color:#294766;background:#fff;border:1px solid #c7d6ea;border-radius:6px;width:24px;height:24px;padding:0;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.inline-props-toggle.active{border-color:var(--state-info);background:var(--state-info-soft);color:var(--state-info-text)}.inline-props-field-upload input{background:#f8fbff;border:1px dashed #b9cbe4;width:168px}.inline-props-clear{color:#2a3f58;background:#fff;border:1px solid #d0d9e9;border-radius:6px;height:24px;padding:0 8px;font-size:11px;font-weight:600}.logo-content{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.logo-image{object-fit:contain;max-width:100%;max-height:100%;display:block}.canvas-block.overlap-target{border-color:var(--state-warning);box-shadow:0 0 0 2px var(--state-warning-ring);background:var(--state-warning-soft)}.canvas-block.overlap-active{border-color:var(--state-danger);box-shadow:0 0 0 2px var(--state-danger-ring)}.block-measurements{color:#f5f8fd;letter-spacing:.1px;white-space:nowrap;pointer-events:none;background:#102134eb;border-radius:7px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:11px;position:absolute;top:-28px;left:0;box-shadow:0 6px 14px #0a142240}.resize-handle{z-index:2;background:#fff;border:1px solid #1d4fd6;border-radius:2px;width:12px;height:12px;padding:0;position:absolute}.resize-nw{cursor:nwse-resize;top:-7px;left:-7px}.resize-n{cursor:ns-resize;top:-7px;left:calc(50% - 6px)}.resize-ne{cursor:nesw-resize;top:-7px;right:-7px}.resize-e{cursor:ew-resize;top:calc(50% - 6px);right:-7px}.resize-sw{cursor:nesw-resize;bottom:-7px;left:-7px}.resize-s{cursor:ns-resize;bottom:-7px;left:calc(50% - 6px)}.resize-w{cursor:ew-resize;top:calc(50% - 6px);left:-7px}.resize-se{cursor:nwse-resize;bottom:-7px;right:-7px}.block-context-menu{z-index:30;border:1px solid var(--line);background:var(--menu-bg);border-radius:10px;gap:4px;min-width:132px;padding:6px;display:grid;position:absolute;box-shadow:0 16px 30px #0d213a2e}.block-context-item{text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;width:100%;font-size:12px;display:inline-flex}.block-context-icon{stroke:currentColor;fill:none;stroke-width:1.9px;flex:none;width:14px;height:14px}.block-context-item:hover{background:var(--surface);border-color:var(--line)}.block-context-item-danger{color:var(--state-danger-text)}.block-context-item-danger:hover{background:var(--state-danger-soft);border-color:var(--state-danger-border)}.preview-block{cursor:default;border-color:#0000}.block-content{white-space:pre-wrap;font-size:14px}.line-content{align-items:center;height:100%;display:flex}.table-preview{border-collapse:collapse;width:100%;font-size:12px}.theme-dark .table-preview{color:#ddebff}.table-preview th,.table-preview td{border:1px solid var(--line);text-align:left;padding:4px;font-weight:500}.piechart-preview{grid-template-columns:128px minmax(0,1fr);align-items:center;gap:10px;width:100%;height:100%;display:grid}.piechart-svg{width:100%;height:auto}.piechart-legend{gap:6px;font-size:11px;display:grid}.piechart-legend-item{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.piechart-legend-dot{border-radius:99px;width:10px;height:10px}.piechart-legend-label{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.piechart-legend-value{color:var(--soft-ink);font-family:JetBrains Mono,monospace}.prop-body{gap:10px;padding:12px;display:grid;overflow:auto}.field{gap:6px;display:grid}.field label{color:var(--soft-ink);font-size:12px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;padding:8px;font-family:JetBrains Mono,monospace;font-size:12px}.empty-state{color:var(--soft-ink);border:1px dashed var(--line);background:var(--surface);border-radius:10px;padding:10px;font-size:12px}.theme-dark .canvas-wrap{background-color:#121f31;background-image:linear-gradient(90deg,#9faec429 1px,#0000 1px),linear-gradient(#9faec429 1px,#0000 1px)}.theme-dark .fill-preview-canvas{background:linear-gradient(var(--sheet-paper), var(--sheet-paper)) padding-box, repeating-linear-gradient(0deg, #aabed61f 0, #aabed61f 1px, transparent 1px, transparent 28px), repeating-linear-gradient(90deg, #aabed61f 0, #aabed61f 1px, transparent 1px, transparent 28px)}.theme-dark .canvas{box-shadow:inset 0 0 0 1px #dfecff2e,0 30px 60px #03081473}.theme-dark .canvas.drop-ready{outline:3px dashed var(--drop-outline)}.theme-dark .movement-guide-vertical,.theme-dark .movement-guide-horizontal{border-color:var(--guide-primary)}.theme-dark .movement-guide-secondary{border-color:var(--guide-secondary)}.theme-dark .canvas-block{background:#121e2fe6}.theme-dark .canvas-block:hover{border-color:#7f95b6}.theme-dark .canvas-block.selected{background:#21334ff2}.theme-dark .inline-props-card{background:#121d2ffa;border-color:#365078;box-shadow:0 10px 22px #03091473}.theme-dark .inline-props-title{color:#c8daf6}.theme-dark .inline-props-field span{color:#9bb3d6}.theme-dark .inline-props-field input,.theme-dark .inline-props-field select,.theme-dark .inline-props-toggle,.theme-dark .inline-props-clear{color:#d9e5f8;background:#111d30;border-color:#3a5276}.theme-dark .inline-props-toggle.active{border-color:var(--state-info);background:var(--state-info-soft);color:var(--state-info-text)}.theme-dark .resize-handle{background:#13223a;border-color:#6e98ff}.theme-dark .block-context-item-danger:hover{background:var(--state-danger-soft);border-color:var(--state-danger-border)}.json-output{min-height:160px}.settings-page{height:100%;padding:24px;overflow:auto}.settings-card{max-width:840px;margin:0 auto}.settings-body{gap:12px;padding:14px;display:grid}.settings-checkbox{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:inline-flex}.settings-actions{flex-wrap:wrap;gap:8px;padding:0 14px 14px;display:flex}@media (width<=1200px){.app-main{height:auto}.topbar{flex-wrap:wrap;gap:10px;padding:10px 12px}.brand{border-right:0;border-bottom:1px solid var(--brand-divider);width:100%;padding-bottom:8px;padding-right:0}.app-shell{grid-template-columns:1fr;height:auto;overflow:auto}.element-sidebar{min-height:auto}.element-sidebar-list{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{justify-content:flex-start}.toolbar-right{width:100%}.storage-page,.fill-page{height:auto}.fill-layout{grid-template-columns:1fr;height:auto}.fill-preview-canvas,.canvas{width:100%}.panel{min-height:320px}.property-popup{width:min(360px,100vw - 16px);max-height:calc(100vh - 88px);top:72px;right:12px}}@media (width<=720px){.topbar-view-indicator{display:none}.menu-row{width:100%;padding-bottom:2px;overflow-x:auto}.topbar-right{justify-content:flex-end;width:100%}.element-sidebar-list{grid-template-columns:1fr}}@media print{@page{margin:0}@page invoice-a4{size:A4 portrait;margin:0}@page invoice-a5{size:A5 portrait;margin:0}@page invoice-pos80{size:80mm 297mm;margin:0}@page invoice-pos58{size:58mm 210mm;margin:0}html,body{margin:0;padding:0;background:#fff!important;overflow:hidden!important}body.print-only-sheet #root{display:none!important}body.print-only-sheet .print-sheet-root{break-inside:avoid;page-break-inside:avoid;background:#fff!important;margin:0 auto!important;padding:0!important;display:block!important;overflow:hidden!important}body.print-only-sheet .print-sheet-root.page-a4{page:invoice-a4;width:210mm;min-height:297mm}body.print-only-sheet .print-sheet-root.page-a5{page:invoice-a5;width:148mm;min-height:210mm}body.print-only-sheet .print-sheet-root.page-pos80{page:invoice-pos80;width:80mm;min-height:297mm}body.print-only-sheet .print-sheet-root.page-pos58{page:invoice-pos58;width:58mm;min-height:210mm}body.print-only-sheet .print-sheet-root .canvas{width:100%!important;min-height:inherit!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;outline:0!important;margin:0!important;transform:none!important}body.print-only-sheet .print-sheet-root,body.print-only-sheet .print-sheet-root .canvas,body.print-only-sheet .print-sheet-root .block-content,body.print-only-sheet .print-sheet-root .table-preview,body.print-only-sheet .print-sheet-root .table-preview th,body.print-only-sheet .print-sheet-root .table-preview td,body.print-only-sheet .print-sheet-root .piechart-legend-label,body.print-only-sheet .print-sheet-root .piechart-legend-value{color:#122133!important}body.print-only-sheet .print-sheet-root .table-preview th,body.print-only-sheet .print-sheet-root .table-preview td{border-color:#d4dbe5!important}body.print-only-sheet .print-sheet-root .line-content>div{border-top-color:#adb5bd!important}body.print-only-sheet .print-sheet-root .canvas-zoom-content{transform:none!important}body.print-only-sheet .print-sheet-root .canvas-wrap,body.print-only-sheet .print-sheet-root .canvas-zoom-stage,body.print-only-sheet .print-sheet-root .workspace,body.print-only-sheet .print-sheet-root .app-shell,body.print-only-sheet .print-sheet-root .app-main,body.print-only-sheet .print-sheet-root .layout-shell{box-shadow:none!important;background:#fff!important;border:0!important;padding:0!important;overflow:visible!important}body.print-only-sheet .print-sheet-root .inline-props-card,body.print-only-sheet .print-sheet-root .movement-guide,body.print-only-sheet .print-sheet-root .resize-handle{display:none!important}body.print-only-sheet .print-sheet-root .canvas-block,body.print-only-sheet .print-sheet-root .canvas-block.selected,body.print-only-sheet .print-sheet-root .canvas-block.lock-target,body.print-only-sheet .print-sheet-root .canvas-block.lock-blocked{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.guided-tour-layer{display:none!important}}
