.designs-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.designs-head-actions{gap:8px;display:flex}.designs-head h1{margin:0}.design-cards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.design-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.design-card-main{gap:2px;display:grid}.design-name{color:var(--ink);font-size:1.05rem;font-weight:600}.design-card small{color:var(--muted)}.design-card-actions{flex-wrap:wrap;gap:6px;display:flex}.tag{background:#e8eaee;border-radius:999px;padding:1px 7px;font-size:12px}.tag-published{color:#17612c;background:#d9f2e0}.tag-pending{color:#7a5200;background:#fff1cc}.editor{flex-direction:column;min-width:1000px;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.topbar .back{color:var(--muted);text-decoration:none}.topbar-title{line-height:1.15;display:grid}.topbar-title small{color:var(--muted)}.topbar .spacer{flex:1}.save-status{color:var(--muted);font-size:13px}.save-status.is-error,.save-status.is-conflict{color:var(--danger);font-weight:600}.notice{color:#7a5b00;background:#fff3cd;border-radius:999px;padding:2px 10px;font-size:13px}.zoom{gap:2px;display:inline-flex}.conflict{color:#7f1d17;background:#fdecea;padding:8px 12px}.editor-body{flex:1;grid-template-columns:260px minmax(0,1fr) 310px;min-height:0;display:grid}.editor-left,.editor-right{background:var(--panel);overflow-y:auto}.editor-left{border-right:1px solid var(--line)}.editor-right{border-left:1px solid var(--line)}.editor-center{flex-direction:column;min-width:0;min-height:0;display:flex}.add-toolbar{border-bottom:1px solid var(--line);background:var(--panel);gap:6px;padding:8px 12px;display:flex}.stage{background:#dcdfe5;flex:1;padding:24px;overflow:auto}.canvas-wrap{margin:0 auto 80px;position:relative}.canvas-frame{-webkit-user-select:none;user-select:none;position:relative;box-shadow:0 2px 14px #00000040}.canvas-frame .dv-el{cursor:move}.canvas-frame .dv-el *{pointer-events:none}.canvas-frame .dv-el:hover{outline:1px dashed #3b6df0cc}.canvas-frame .dv-el[data-overflow]{outline:2px solid #d93025}.overflow-warning{z-index:5;color:#8c1d14;background:#fde7e5;border-radius:6px;margin:0 0 12px;padding:6px 10px;font-size:13px;position:sticky;top:0}.height-handle{color:#fff;cursor:ns-resize;touch-action:none;background:#3b6df0d9;border-radius:0 0 6px 6px;justify-content:center;align-items:center;height:18px;font-size:11px;display:flex;position:absolute;bottom:-18px;left:0;right:0}.panel-block{border-bottom:1px solid var(--line);padding:10px 12px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.panel-head h2,.panel-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.panel-actions{gap:6px;margin-top:8px;display:flex}.panel-actions-inline{gap:4px;display:inline-flex}.rows{margin:0;padding:0;list-style:none}.row{border-radius:6px;align-items:center;gap:2px;display:flex}.row.is-selected{background:#e7eefe}.row.is-hidden .row-main{opacity:.5}.row button{background:0 0;border-color:#0000;padding:3px 5px}.row .row-main{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row small{color:var(--muted)}.drag-handle{cursor:grab;color:var(--muted);touch-action:none}.drag-spacer{width:24px;display:inline-block}.layer-icon{width:1.4em;color:var(--muted);display:inline-block}.hint{color:var(--muted);margin:4px 0 8px;font-size:13px}.panel-body{padding:10px 12px 40px}.panel-title{margin-bottom:4px}.group{border-bottom:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.group h3{color:var(--muted);margin:0;font-size:12px}.grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field{gap:2px;display:grid}.field label{color:var(--muted);font-size:12px}.field-input{align-items:center;gap:4px;display:flex}.field-check{align-items:center;gap:6px;display:flex}.field-check label{color:var(--ink);font-size:13px}.field input[type=color]{border:1px solid var(--line);border-radius:6px;flex:0 0 34px;width:34px;height:28px;padding:0}.field textarea{resize:vertical}.variables{gap:4px;display:grid}.variables-label{color:var(--muted);font-size:12px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;border-radius:999px;padding:2px 8px;font-size:12px}.chip:hover:not(:disabled){background:#e0e7ff;border-color:#a5b4fc}.field-warning{color:#7a5b00;background:#fff3cd;border-radius:6px;margin:0;padding:4px 8px;font-size:12px}.view-as{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.view-as select{width:auto;max-width:220px}.add-toolbar{flex-wrap:wrap;align-items:center}.toolbar-separator{background:var(--line);width:1px;height:20px}.add-row{color:var(--accent)}.design-title{margin-top:18px}.thumbs{gap:4px;margin:0;padding:0;list-style:none;display:grid}.thumbs li{align-items:center;gap:4px;display:flex}.thumbs img,.thumb-missing{object-fit:cover;text-align:center;background:#e5e7eb;border-radius:4px;width:36px;height:36px;line-height:36px}.thumb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.thumbs button{padding:2px 6px}.thumb-grid{flex-wrap:wrap;gap:4px;display:flex}.thumb{border-radius:4px;padding:0;line-height:0}.thumb img{object-fit:cover;border-radius:4px;width:44px;height:44px}.swatch-row{align-items:flex-end;gap:4px;display:flex}.swatch-row .field{flex:1}.audio-preview{width:100%;height:32px}.field input[type=range]{padding:0}.check-row{align-items:center;gap:6px;font-size:13px;display:flex}.tag-chip{align-items:center;gap:4px;padding-right:2px;display:inline-flex}.tag-chip button{color:inherit;background:0 0;border:0;padding:0 6px;font-size:14px;line-height:1.2}.inline-form{gap:6px;display:flex}.visibility-badge{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}dialog.preview{border:0;border-radius:12px;width:min(1100px,100vw - 32px);height:calc(100vh - 32px);max-height:none;padding:0;overflow:hidden;box-shadow:0 10px 40px #00000059}dialog.preview[open]{flex-direction:column;display:flex}dialog.preview::backdrop{background:#14182199}.preview-bar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.preview-bar .spacer{flex:1}.preview-widths{gap:2px;display:inline-flex}.preview-widths .is-active{border-color:var(--accent);background:#e7eefe}.preview-stage{background:#dcdfe5;flex:1;justify-content:center;min-height:0;display:flex}.preview-stage iframe{background:#fff;border:0;max-width:100%;height:100%}.preview-wait{color:var(--muted);align-self:center}.qr-box{place-items:center;margin:8px 0;display:grid}.modal.publish{width:min(46rem,100vw - 2rem)}.publish-body{grid-template-columns:240px 1fr;align-items:start;gap:20px;display:grid}.publish-fields{gap:8px;display:grid}@media (width<=700px){.publish-body{grid-template-columns:1fr}}.modal.publish .form-label{gap:4px;font-weight:600;display:grid}.modal.publish .form-actions{justify-content:flex-end;gap:8px;display:flex}.moveable-control-box{z-index:5}:root{--ink:#1f2430;--muted:#6b7280;--line:#d9dce2;--panel:#fff;--accent:#3b6df0;--danger:#c2332b}*{box-sizing:border-box}body{color:var(--ink);background:#f3f4f6;margin:0;font:14px/1.4 system-ui,sans-serif}.page{max-width:56rem;margin:0 auto;padding:2rem 1rem}button,.button{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{background:#f7f8fa;border-color:#aab0bb}button:disabled{opacity:.45;cursor:not-allowed}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#2f5ad0}button.danger{border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:#fdecea}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=text],input[type=password],input[type=number],input[type=datetime-local],input:not([type]),select,textarea{border:1px solid var(--line);width:100%;color:inherit;font:inherit;background:#fff;border-radius:6px;padding:5px 8px}.modal{border:0;border-radius:12px;width:min(32rem,100vw - 2rem);padding:1.25rem;box-shadow:0 10px 40px #0000004d}.modal::backdrop{background:#14182180}.modal h2{margin:0 0 1rem;font-size:1.15rem}.form{gap:.75rem;display:grid}.form label{gap:4px;font-weight:600;display:grid}.form label small{color:var(--muted);font-weight:400}.form fieldset{border:1px solid var(--line);border-radius:8px;gap:6px;margin:0;padding:.5rem .75rem .75rem;display:grid}.form-row{gap:8px;display:flex}.form-row>*{flex:1}.form-row>button{flex:none}.form-error{color:var(--danger);margin:0}.form-actions{justify-content:flex-end;gap:8px;display:flex}
