:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{color:#172033;background:#edf1f6;min-height:100vh}.topbar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fafcf0;border-bottom:1px solid #dce3ec;justify-content:space-between;align-items:center;gap:16px;height:72px;padding:0 22px;display:flex;position:sticky;top:0}.brand,.top-actions,.stage-toolbar,.stage-actions{align-items:center;display:flex}.brand{gap:12px}.brand-mark{color:#fff;background:#0f172a;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand h1,.preview-header h1{color:#111827;letter-spacing:0;margin:0;font-size:18px;font-weight:760;line-height:1.2}.brand p,.preview-header p{color:#64748b;margin:3px 0 0;font-size:13px}.top-actions{gap:10px}.model-switcher{color:#64748b;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.model-switcher select{color:#1f2937;background:#fff;border:1px solid #d7dee8;border-radius:7px;width:180px;height:38px;padding:0 10px}.workspace{grid-template-columns:286px minmax(760px,1fr) 318px;gap:18px;min-width:1180px;height:calc(100vh - 72px);padding:18px;display:grid}.sidebar,.stage-wrap{min-height:0}.sidebar{flex-direction:column;gap:14px;display:flex;overflow:hidden}.stage-wrap{flex-direction:column;gap:12px;display:flex}.panel,.stage-toolbar,.pc-frame{background:#fff;border:1px solid #dbe3ee;border-radius:8px;box-shadow:0 12px 34px #0f172a0f}.panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-components{flex:0 0 calc(64% - 7px)}.panel-layers{flex:calc(36% - 7px)}.panel-properties{height:100%}.panel-title{color:#334155;flex:none;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.panel-title h2{color:#1f2937;margin:0;font-size:14px;font-weight:740}.component-list,.layers,.property-list{flex:auto;gap:8px;min-height:0;padding:0 12px 12px;display:grid;overflow:auto}.component-list,.layers{align-content:start}.property-list{grid-auto-rows:max-content;align-content:start}.component-group{gap:8px;display:grid}.component-group+.component-group{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:10px}.component-group-title{color:#64748b;font-size:12px;font-weight:760}.component-tile{color:#334155;cursor:grab;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:10px;min-width:0;min-height:64px;padding:10px;display:flex}.component-tile:active{cursor:grabbing}.component-tile:hover,.layer-row:hover{background:#eff6ff;border-color:#93c5fd}.component-tile div{gap:3px;min-width:0;display:grid}.component-tile strong,.component-tile span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.component-tile strong{color:#1f2937;font-size:13px}.component-tile span{color:#64748b;font-size:12px}.ghost-button.is-active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.layers-tree{background:0 0}.layers-tree .ant-tree-node-content-wrapper{border-radius:7px;align-items:center;min-height:34px;display:inline-flex}.layers-tree .ant-tree-node-selected{color:#1d4ed8;background:#eff6ff!important}.layer-tree-title{color:inherit;align-items:center;gap:8px;display:inline-flex}.stage-toolbar{justify-content:space-between;gap:12px;min-height:58px;padding:10px 12px}.toolbar-title{gap:3px;display:grid}.toolbar-title strong{color:#111827;font-size:14px}.toolbar-title span{color:#64748b;font-size:12px}.stage-actions{gap:6px}.icon-button,.primary-button,.ghost-button{border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.icon-button{color:#475569;background:#fff;border:1px solid #d7dee8;width:36px;height:34px}.icon-button:hover{color:#1d4ed8;border-color:#93c5fd}.primary-button,.ghost-button{gap:8px;min-height:38px;padding:0 14px;font-weight:720}.primary-button{color:#fff;background:#2563eb;border:1px solid #1d4ed8}.ghost-button{color:#475569;background:#fff;border:1px solid #d7dee8}.pc-frame{background-color:#f8fafc;background-image:linear-gradient(90deg,#94a3b81f 1px,#0000 1px),linear-gradient(#94a3b81f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex:1;min-height:0;padding:24px;overflow:auto}.canvas-shell,.schema-view,.preview-content{background:#fff;border:1px solid #d6dee9;border-radius:8px;width:1080px;min-height:100%;margin:0 auto;box-shadow:0 18px 48px #0f172a21}.canvas-shell,.preview-content{flex-direction:column;gap:12px;padding:18px;display:flex}.canvas-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;min-height:240px;display:grid}.canvas-node{width:100%;color:inherit;text-align:inherit;cursor:grab;background:0 0;border:2px solid #0000;border-radius:8px;padding:0;position:relative}.canvas-node.is-selected{border-color:#2563eb;box-shadow:0 0 0 4px #dbeafe}.canvas-node:active{cursor:grabbing}.canvas-drag-handle{z-index:6;color:#64748b;cursor:grab;opacity:0;background:#fffffff0;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .16s,border-color .16s,color .16s;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 6px 18px #0f172a1a}.canvas-node:hover .canvas-drag-handle,.canvas-node.is-selected .canvas-drag-handle,.canvas-node.is-dragging .canvas-drag-handle{opacity:1}.canvas-drag-handle:hover{color:#1d4ed8;border-color:#2563eb}.canvas-drag-handle:active{cursor:grabbing}.canvas-node.is-dragging{opacity:.58}.drop-indicator{z-index:5;color:#1d4ed8;pointer-events:none;background:#dbeafeeb;border:1px solid #2563eb;border-radius:8px;justify-content:center;align-items:center;height:28px;font-size:12px;font-weight:760;display:flex;position:absolute;left:12px;right:12px;box-shadow:0 0 0 3px #2563eb1f}.drop-indicator-before{top:-18px}.drop-indicator-after{bottom:-18px}.block{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;overflow:hidden}.block-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.block-header h2{color:#111827;letter-spacing:0;margin:0;font-size:17px;font-weight:760}.block-header span{color:#64748b;font-size:13px}.search-block,.stats-block,.table-block{padding:20px}.form-slot{background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;min-height:68px;padding:10px;display:grid}.form-slot.is-editable{background:#f8fafc;border-style:dashed;border-color:#cbd5e1}.slot-node{background:0 0;border:0;border-radius:8px;min-width:0;transition:border-color .16s,box-shadow .16s,opacity .16s;position:relative}.slot-node.is-editable{background:#fff;border:2px solid #0000}.slot-node.is-editable.is-selected{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.slot-node.is-dragging{opacity:.56}.slot-control-body{min-width:0;padding:8px}.slot-node.is-editable .slot-control-body{padding:8px 8px 8px 34px}.slot-drag-handle{z-index:4;color:#64748b;cursor:grab;opacity:0;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;width:24px;height:28px;transition:opacity .16s,border-color .16s,color .16s;display:inline-flex;position:absolute;top:30px;left:7px}.slot-node:hover .slot-drag-handle,.slot-node.is-selected .slot-drag-handle,.slot-node.is-dragging .slot-drag-handle{opacity:1}.slot-drag-handle:hover{color:#1d4ed8;border-color:#2563eb}.slot-drag-handle:active{cursor:grabbing}.slot-drop-indicator{z-index:5;color:#1d4ed8;pointer-events:none;writing-mode:vertical-rl;background:#dbeafef0;border:1px solid #2563eb;border-radius:8px;justify-content:center;align-items:center;width:32px;font-size:12px;font-weight:760;line-height:1.2;display:flex;position:absolute;top:6px;bottom:6px;box-shadow:0 0 0 3px #2563eb24}.slot-drop-indicator-before{left:-18px}.slot-drop-indicator-after{right:-18px}.slot-empty{color:#64748b;border:1px dashed #cbd5e1;border-radius:7px;grid-column:span 3;place-items:center;min-height:48px;font-size:13px;display:grid}.form-slot label,.field{gap:6px;display:grid}.form-slot label,.field span{color:#64748b;font-size:12px;font-weight:700}.form-slot .ant-input,.form-slot .ant-select,.form-slot .ant-input-affix-wrapper,.field .ant-input,.field .ant-select,.field .ant-input-number,.field .ant-input-affix-wrapper,.field textarea{width:100%;min-width:0}.form-slot .ant-input,.form-slot .ant-input-affix-wrapper,.form-slot .ant-select-selector,.field .ant-input,.field .ant-input-number,.field .ant-input-affix-wrapper,.field .ant-select-selector{min-height:36px}.form-slot .ant-input-affix-wrapper{height:36px;padding-block:0}.form-slot .ant-input-affix-wrapper .ant-input{height:34px}.form-slot .ant-select-single{height:36px}.form-slot .ant-select-single .ant-select-selector{align-items:center}.search-actions{align-self:end;gap:8px;padding-bottom:8px;display:flex}.search-actions .ant-btn{border-radius:7px;height:36px;font-weight:720}.selected-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;gap:4px;padding:10px;display:grid}.selected-meta strong{color:#111827;font-size:13px}.selected-meta span{color:#64748b;font-size:12px}.checkbox-grid{background:#fff;border:1px solid #d7dee8;border-radius:7px;gap:8px;max-height:220px;padding:8px;overflow:auto;display:grid!important}.checkbox-grid label{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.checkbox-grid input{width:14px;height:14px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-item{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;min-width:0;padding:16px}.metric-item span{color:#64748b;font-size:13px;display:block}.metric-item strong{color:#0f172a;margin-top:8px;font-size:23px;line-height:1.2;display:block}.table-block{overflow-x:auto}.status-pill{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:720;display:inline-flex}.status-active{color:#075985;background:#e0f2fe}.status-won{color:#166534;background:#dcfce7}.status-idle{color:#92400e;background:#fef3c7}.empty-table{color:#64748b;place-items:center;min-height:120px;font-size:14px;display:grid}.property-list{gap:12px}.field textarea{resize:vertical;min-height:78px;padding:9px 10px;line-height:1.5}.empty-state{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0 12px 12px;padding:18px}.schema-view{color:#dbeafe;text-align:left;background:#0f172a;min-height:100%;margin:0 auto;padding:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;overflow:auto}.preview-page{background:#edf1f6;min-width:1180px;min-height:100vh;padding:24px}.preview-header{background:#fff;border:1px solid #dbe3ee;border-radius:8px;justify-content:space-between;align-items:center;width:1080px;margin:0 auto 14px;padding:16px 18px;display:flex}.preview-content{min-height:auto}
