:root{--bg:#ecebe6;--panel:#fff;--ink:#15171a;--muted:#6b7077;--line:#e2e0da;--accent:#0e8c7f;--accent-08:#e4f3f1;--accent-ink:#fff;--danger:#ef4444;--radius:11px;--shadow:0 1px 2px #14171a0d, 0 8px 24px #14171a0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:550;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--bg);border-color:#cfcdc6}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:#0c7d71;border-color:#0c7d71}.btn:disabled{opacity:.5;cursor:default}.btn.block{justify-content:center;width:100%}.link{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.link:hover{color:#0c7d71}.link.danger{color:var(--danger)}.link.danger:hover{color:#b91c1c}.link.back{margin-bottom:20px;font-size:13px;display:inline-block}.select{appearance:none;background:var(--panel);color:var(--ink);border:1px solid var(--line);font:inherit;cursor:pointer;border-radius:9px;padding:8px 12px;font-size:13px}.input{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:9px;padding:9px 11px;font-size:13px}.input:focus,.ta:focus,.num:focus,.select:focus{outline:2px solid var(--accent-08);border-color:var(--accent)}.ta{resize:vertical;width:100%;min-height:48px;font:inherit;border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:7px 9px;font-size:13px}.num{width:72px;font:inherit;border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:6px 8px}input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;width:38px;height:30px;padding:0}.loginPage{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:var(--panel);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:16px;padding:40px}.loginBrand{align-items:center;gap:8px;margin-bottom:28px;font-size:15px;font-weight:700;display:flex}.loginDot{background:var(--accent);border-radius:50%;width:11px;height:11px}.loginName{letter-spacing:-.01em}.loginTitle{letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:700}.loginSub{color:var(--muted);margin:0 0 28px;font-size:14px}.loginForm{flex-direction:column;gap:14px;display:flex}.loginField{flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.loginBtn{margin-top:6px;padding:11px 14px;font-size:14px;font-weight:600}.loginSwitch{color:var(--muted);text-align:center;margin:20px 0 0;font-size:13px}.authError{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:10px 14px;font-size:13px}.splashLoader{background:var(--bg);place-items:center;height:100vh;display:grid}.spinnerRing{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.appShell{flex-direction:column;min-height:100vh;display:flex}.appBar{background:var(--panel);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;padding:12px 28px;display:flex;position:sticky;top:0}.appBarBrand{align-items:center;gap:8px;font-weight:650;display:flex}.appBarBrand .dot{background:var(--accent);border-radius:50%;width:10px;height:10px}.appBarActions{align-items:center;gap:12px;display:flex}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:36px 28px}.page.narrow{max-width:620px}.pageTitle{letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:700}.pageLead{color:var(--muted);margin:0 0 32px;font-size:14px;line-height:1.5}.muted{color:var(--muted);font-size:13px}.dashHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:36px;display:flex}.dashActions{flex-shrink:0;gap:10px;display:flex}.section{margin-bottom:36px}.sectionTitle{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;font-size:11px;font-weight:600}.chips{flex-wrap:wrap;gap:10px;display:flex}.styleChipWrap{align-items:center;gap:6px;display:flex}.styleChip{background:var(--panel);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;font-size:13px;display:flex}.styleChip .dots{gap:4px;display:flex}.styleChip .dots i{border:1px solid #00000014;border-radius:50%;width:12px;height:12px;display:block}.chipEdit{color:var(--accent);padding:2px 6px;font-size:12px}.fieldLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:600}.dualLogoRow{grid-template-columns:1fr 1fr;gap:16px;display:grid}.logoVariant{flex-direction:column;gap:8px;display:flex}.logoVariantBg{border:1px solid var(--line);border-radius:10px;place-items:center;height:100px;padding:12px;display:grid;overflow:hidden}.logoVariantBg.dark{background:#0b1f3a}.logoVariantBg.light{background:#f5f5f5}.logoVariantImg{object-fit:contain;max-width:100%;max-height:76px}.logoVariantHint{text-align:center;color:var(--muted);font-size:11px;line-height:1.5}.logoPickBtn{white-space:nowrap;padding:5px 12px;font-size:12px}.swatchDel{cursor:pointer;color:var(--muted);background:0 0;border:none;margin-top:1px;padding:0;font-size:10px;line-height:1}.swatchDel:hover{color:#e53e3e}.swatchAdd{border:1.5px dashed var(--line);cursor:pointer;width:36px;height:36px;color:var(--muted);background:0 0;border-radius:8px;align-self:flex-start;place-items:center;margin-top:0;font-size:18px;display:grid}.swatchAdd:hover{border-color:var(--accent);color:var(--accent)}.fontList{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.fontTag{background:var(--bg);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.fontTag.customFont{border-style:dashed}.fontTag.status-uploading{opacity:.6}.fontTag.status-error{color:#e53e3e;border-color:#e53e3e}.fontTagDel{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:11px;line-height:1}.fontTagDel:hover{color:#e53e3e}.fontAddRow{gap:8px;margin-bottom:4px;display:flex}.customFontSection{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.fontUploadRow{gap:8px;margin-bottom:4px;display:flex}.btn.disabled{opacity:.4;pointer-events:none}.contactGrid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.empty{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);flex-direction:column;align-items:flex-start;gap:16px;padding:28px;font-size:14px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.projCard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;transition:box-shadow .15s,transform .1s;display:flex;overflow:hidden}.projCard:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.projPreview{border-radius:var(--radius) var(--radius) 0 0;flex-shrink:0;line-height:0;overflow:hidden}.projPreview canvas{display:block;width:100%!important;height:auto!important}.projMeta{flex:1;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.projTitle{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:20px;padding:28px;display:flex}.fieldBlock{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.fieldHelp{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.divider{background:var(--line);height:1px;margin:4px 0}.actions{align-items:center;gap:14px;display:flex}.okNote{color:var(--accent);font-size:13px;font-weight:500}.req{color:var(--danger);margin-left:4px;font-size:11px;font-style:normal;font-weight:500}.opt{color:var(--muted);margin-left:4px;font-size:11px;font-style:normal;font-weight:500}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;padding:40px;font-size:14px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover{border-color:var(--accent);background:var(--accent-08)}.dropIcon{font-size:28px;font-weight:300}.thumbs{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.thumb{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100px;height:100px}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatchWrap{flex-direction:column;align-items:center;gap:4px;display:flex}.swatchHex{color:var(--muted);font-family:monospace;font-size:10px}.rowInline{align-items:flex-end;gap:20px;display:flex}.checkField{align-items:center;gap:8px;padding-bottom:2px;font-size:13px;font-weight:500;display:flex}.studio{flex-direction:column;height:100vh;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.historyBtns{gap:2px;display:flex}.histBtn{background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:7px;padding:5px 10px;font-size:16px;line-height:1;transition:background .15s,opacity .15s}.histBtn:hover:not(:disabled){background:var(--bg);border-color:#cfcdc6}.histBtn:disabled{opacity:.28;cursor:default}.histBtn.on{border-color:var(--accent);color:var(--accent);background:var(--accent-08)}.titleInput{min-width:0;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:6px 8px;font-size:14px;font-weight:600;transition:border-color .12s}.titleInput:hover{border-color:var(--line)}.titleInput:focus{outline:2px solid var(--accent-08);border-color:var(--accent)}.body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.panelResizer{cursor:col-resize;background:var(--line);z-index:2;flex-shrink:0;width:5px;transition:background .15s}.panelResizer:hover{background:var(--accent)}.rail{background:var(--panel);flex-direction:column;flex-shrink:0;min-height:0;display:flex;overflow:hidden}.canvas{flex:1;min-width:0}.floatHead{flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.floatMin{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:16px;line-height:1;transition:color .12s,background .12s}.floatMin:hover{color:var(--ink);background:var(--bg)}.rail.layersFloat{z-index:60;border:1px solid var(--line);border-radius:14px;max-height:calc(100% - 28px);position:absolute;top:14px;left:14px;box-shadow:0 16px 48px #14171a29}.rail.layersFloat .layers{padding-bottom:4px}.floatResizer{background:0 0;width:6px;position:absolute;top:0;bottom:0;right:0}.floatResizer:hover{background:var(--accent)}.rail.propsRail{width:280px}.rail.propsRail .props{border-top:none;padding-top:4px}.rail.propsFloat{z-index:60;border:1px solid var(--line);border-radius:14px;max-height:min(72%,100% - 28px);position:absolute;top:14px;right:14px;overflow-y:auto;box-shadow:0 16px 48px #14171a29}.chatFloat{z-index:70;pointer-events:none;width:min(400px,100% - 28px);height:calc(100% - 28px);display:flex;position:absolute;bottom:14px;right:14px}.chatFloat .floatingChat--docked{pointer-events:none;background:0 0;padding:0}.chatFloat .floatingChat--docked>*{pointer-events:auto}.chatFloat .floatingChat--docked .fcGlass{border-radius:16px;box-shadow:0 16px 48px #14171a2e}.layersFab{left:28px;right:auto}.railTitle{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0;margin:0;padding:14px 16px 8px;font-size:11px}.layers{margin:0;padding:0 8px;list-style:none;overflow:auto}.layer{cursor:pointer;border-radius:9px;grid-template-columns:16px 20px 22px 1fr 60px;align-items:center;gap:7px;padding:7px 8px;font-size:13px;display:grid}.layer:hover{background:var(--bg)}.layer.active{background:var(--accent-08);color:var(--accent)}.layer.layerHidden{opacity:.42}.layer.inSelection{background:var(--accent-08);border-left:2px solid var(--accent);opacity:.8}.layerDragHandle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;place-items:center;font-size:13px;line-height:1;display:grid}.layerDragHandle:active{cursor:grabbing}.layer.layerDragging{opacity:.35}.layer.layerDragOver{box-shadow:0 -2px 0 0 var(--accent)}.layerEye{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;font-size:11px;line-height:1;display:grid}.layerEye:hover{color:var(--ink)}.layer.active .layerEye{color:var(--accent)}.layerType{background:var(--bg);width:22px;height:22px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.layer.active .layerType{color:var(--accent);background:#fff}.layerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layerOpacitySlider{cursor:pointer;width:100%;height:3px;accent-color:var(--accent);opacity:0;transition:opacity .15s}.layer:hover .layerOpacitySlider,.layer.active .layerOpacitySlider{opacity:1}.hint{color:var(--muted);margin:auto 0 0;padding:0 16px 14px;font-size:11.5px;line-height:1.5}.captionBox{border-top:1px solid var(--line);padding:14px 16px}.canvas{background:var(--bg);place-items:center;padding:28px;display:grid;overflow:auto}.stageWrap{box-shadow:var(--shadow);background:#fff;border-radius:6px;overflow:hidden}.genCard{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.genCard .railTitle{padding:0 0 4px}.genCard .field{gap:4px}.genCard .btn.block{margin-top:2px}.reviewPanel{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.reviewScore{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.reviewScoreNum{color:var(--accent);font-size:32px;font-weight:800;line-height:1}.reviewScoreMax{color:var(--muted);font-size:14px}.reviewHeadline{color:var(--ink);flex:1;min-width:100%;margin-top:2px;font-size:12px;font-weight:600}.reviewMetrics{grid-template-columns:1fr 1fr 1fr;gap:4px;display:grid}.metric{background:var(--panel);border-radius:6px;flex-direction:column;gap:1px;padding:5px 6px;display:flex}.metric span:first-child{color:var(--muted);font-size:10px}.metric span:last-child{color:var(--ink);font-size:13px;font-weight:700}.reviewSection{flex-direction:column;gap:4px;display:flex}.reviewSectionTitle{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.reviewItem{border-radius:6px;padding:6px 8px;font-size:12px;line-height:1.4}.reviewItem.ok{border-left:2px solid var(--accent);background:#0e8c7f18}.reviewItem.warn{background:#ff7a1518;border-left:2px solid #ff7a45}.reviewNote{color:var(--muted);border-top:1px solid var(--line);padding-top:8px;font-size:11px;font-style:italic;line-height:1.4}.reviewOp{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:5px;padding:8px 10px;transition:opacity .2s;display:flex}.reviewOp.applied{opacity:.5}.reviewOpReason{color:var(--ink);font-size:12px;font-weight:600;line-height:1.35}.reviewOpTags{flex-wrap:wrap;gap:3px;display:flex}.reviewOpTag{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:10px}.reviewOpBtn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-end;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.reviewOpBtn:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.reviewOpBtn.done{border-color:var(--muted);color:var(--muted);cursor:default}.refAdBox{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.refAdTitle{color:var(--ink);font-size:12px;font-weight:700}.refAdRow{align-items:center;gap:6px;display:flex}.refAdPreview{background:var(--panel);border-radius:6px;align-items:flex-start;gap:8px;padding:8px;display:flex}.refAdImg{background:var(--bg);border:1px solid var(--line);width:60px;height:50px;color:var(--muted);text-align:center;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;text-decoration:none;display:flex}.refAdMeta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inspirationBox{background:var(--bg);border:1px dashed var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.inspirationTitle{color:var(--ink);font-size:12px;font-weight:700}.inspirationGrid{flex-wrap:wrap;gap:6px;display:flex}.inspirationThumb{border:1px solid var(--line);border-radius:6px;width:56px;height:56px;position:relative;overflow:hidden}.inspirationThumb img{object-fit:cover;width:100%;height:100%}.inspirationRemove{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:9px;display:flex;position:absolute;top:2px;right:2px}.inspirationAdd{border:1px dashed var(--line);cursor:pointer;width:56px;height:56px;color:var(--muted);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:0;font-size:20px;display:flex}.inspirationAdd:hover{border-color:var(--accent);color:var(--accent);background:var(--bg)}.aiDesignBtn{letter-spacing:.02em;border-color:var(--accent)!important;background:linear-gradient(135deg,#1a472a,#0b1f3a)!important}.chat{flex-direction:column;flex:1;gap:8px;min-height:80px;padding:4px 14px 8px;display:flex;overflow:auto}.msg{border-radius:12px;max-width:92%;padding:8px 11px;font-size:13px;line-height:1.45;animation:.12s ease-out rise}.msg.system{background:var(--bg);color:var(--ink);border-bottom-left-radius:4px}.msg.user{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px;align-self:flex-end}@keyframes rise{0%{opacity:0;transform:translateY(3px)}}.composer{border-top:1px solid var(--line);gap:8px;padding:10px 14px;display:flex}.composer .input{border-radius:9px}.props{border-top:1px solid var(--line);padding:14px 16px}.propsTitle{margin:0 0 10px;font-size:13px;font-weight:600}.row{grid-template-columns:64px 1fr;align-items:center;gap:10px;margin-bottom:10px;display:grid}.rowLabel{color:var(--muted);font-size:12px}.rowField{display:flex}.seg{gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.settingsCardHead{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settingsProvider{letter-spacing:-.01em;font-size:15px;font-weight:650}.settingsProviderSub{color:var(--muted);margin-top:2px;font-size:12px}.fieldBlockDisabled{opacity:.45;pointer-events:none}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;display:flex}.toggle input{display:none}.toggleSlider{background:var(--line);border-radius:999px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.toggleSlider:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle input:checked~.toggleSlider{background:var(--accent)}.toggle input:checked~.toggleSlider:after{transform:translate(18px)}.toggleLabel{color:var(--muted);width:44px;font-size:12px;font-weight:500}.toggle input:checked~.toggleSlider~.toggleLabel{color:var(--accent)}.logoUploadRow{align-items:center;gap:14px;margin-top:4px;display:flex}.logoPreviewWrap{border:1px solid var(--line);background:repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%) 0 0/12px 12px;border-radius:8px;place-items:center;width:100px;height:52px;display:grid;overflow:hidden}.logoPreview{object-fit:contain;max-width:100%;max-height:100%}.logoPickBtn{cursor:pointer}.productImageArea{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.productPreview{border:1px solid var(--line);object-fit:cover;aspect-ratio:4/3;border-radius:10px;width:100%;max-width:300px}.dropzone.compact{flex-direction:row;gap:10px;padding:20px}.campaignList{flex-direction:column;gap:14px;display:flex}.campaignCard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:14px;padding:16px;display:flex}.campaignImg{object-fit:cover;border-radius:8px;flex-shrink:0;width:80px;height:80px}.campaignInfo{flex:1;min-width:0}.campaignName{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:11px}.campaignProduct{font-size:14px;font-weight:600}.campaignPrice{color:var(--accent);margin-top:2px;font-size:13px;font-weight:500}.campaignDesc{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.4}.campaignDel{flex-shrink:0;font-size:12px}.campaignActions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.campaignBenefits{color:var(--muted);margin:6px 0 0;padding-left:14px;font-size:12px;line-height:1.6}.campaignThumbRow{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.campaignThumb{object-fit:cover;border:1px solid var(--line);border-radius:5px;width:36px;height:36px}.campaignThumb.brandThumb{object-fit:contain;background:#f5f5f5;padding:3px}.campaignImagesGrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:8px;display:grid}.campaignImageSlot{position:relative}.campaignImageSlot.main .campaignImageAdd,.campaignImageSlot.main .campaignImagePreview{min-height:110px}.campaignImageAdd{border:1.5px dashed var(--line);cursor:pointer;height:90px;color:var(--muted);background:var(--bg);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;transition:border-color .15s;display:flex}.campaignImageAdd:hover{border-color:var(--accent);color:var(--accent)}.addImgIcon{font-size:20px;line-height:1}.campaignImagePreview{border:1px solid var(--line);border-radius:8px;height:90px;position:relative;overflow:hidden}.campaignImagePreview img{object-fit:cover;width:100%;height:100%;display:block}.imageRemoveBtn{cursor:pointer;color:#fff;background:#0000008c;border:none;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;line-height:1;display:grid;position:absolute;top:4px;right:4px}.imageRemoveBtn:hover{background:#e53e3e}.benefitList{flex-direction:column;gap:5px;margin-top:8px;display:flex}.benefitTag{background:var(--bg);border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.priceTableEditor{flex-direction:column;gap:8px;margin-top:8px;display:flex}.priceRowEditor{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.priceRowEditor .input{min-width:0}.activeCampaignBar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;padding:14px 16px;transition:box-shadow .15s;display:flex}.activeCampaignBar:hover{box-shadow:var(--shadow)}.acImg{object-fit:cover;border-radius:8px;flex-shrink:0;width:48px;height:48px}.acName{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.acProduct{font-size:14px;font-weight:600}.acPrice{color:var(--accent);font-weight:500}.acEdit{margin-left:auto;font-size:13px;text-decoration:none}.chipLogo{object-fit:contain;border-radius:2px;width:auto;max-width:56px;height:18px}.campaignPreview{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.cpImg{object-fit:cover;border-radius:6px;flex-shrink:0;width:44px;height:44px}.cpInfo{flex:1;min-width:0}.cpName{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.cpPrice{color:var(--accent);font-size:12px;font-weight:500}.fieldHelp.warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px}.canvas{position:relative}.panOverlay{z-index:10;position:absolute;inset:0}.zoomBar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:2px;padding:4px 8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.zoomBtn{cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:grid}.zoomBtn:hover{background:var(--bg)}.zoomLabel{color:var(--muted);text-align:center;min-width:42px;font-size:12px;font-weight:600}.chatFab{z-index:200;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:52px;height:52px;font-size:22px;transition:transform .15s,box-shadow .15s;display:grid;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #0e8c7f59}.chatFab:hover{transform:scale(1.08);box-shadow:0 6px 28px #0e8c7f73}.floatingChat{z-index:200;pointer-events:none;flex-direction:column;justify-content:flex-end;gap:10px;width:min(720px,100vw - 28px);max-height:calc(100vh - 28px);display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.floatingChat>*{pointer-events:auto}.floatingChat--docked{box-sizing:border-box;pointer-events:auto;width:100%;height:100%;max-height:none;padding:10px;position:static;transform:none}.floatingChat--docked .fcStream{flex:1;min-height:0;max-height:none;animation:none}.floatingChat--docked .fcGlass{background:var(--panel);-webkit-backdrop-filter:none;box-shadow:none;border:1px solid var(--line)}.fcGlass{-webkit-backdrop-filter:blur(18px)saturate(1.5);background:#ffffffd9;border:1px solid #14171a17;box-shadow:0 16px 48px #14171a2e}.fcStream{border-radius:18px;flex-direction:column;min-height:0;max-height:44vh;animation:.16s ease-out rise;display:flex;overflow:hidden}.fcStreamHead{flex-shrink:0;align-items:center;gap:7px;padding:10px 14px 4px;display:flex}.fcDock{border-radius:22px;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.fcDockTop{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fcHeader{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.fcBrand{align-items:center;gap:7px;display:flex}.fcBrandDot{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #0e8c7f2e}.fcTitle{letter-spacing:-.01em;font-size:13px;font-weight:700}.fcHeaderRight{align-items:center;gap:8px;display:flex}.fcBusy{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s infinite fcPulse}@keyframes fcPulse{0%,to{opacity:1}50%{opacity:.3}}.fcClose{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:2px 4px;font-size:16px;line-height:1;transition:color .12s,background .12s}.fcClose:hover{color:var(--ink);background:var(--bg)}.fcContextBar{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 12px;display:flex}.fcChip{background:var(--bg);border:1px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px 4px 8px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s;display:flex}.fcChip:hover{border-color:var(--accent)}.fcChip--active{border-color:var(--accent);background:var(--accent-08);color:var(--accent)}.fcChip--static{cursor:default;pointer-events:none}.fcChipIcon{font-size:11px}.fcChipLabel{text-overflow:ellipsis;max-width:90px;overflow:hidden}.fcChipArrow{color:var(--muted);margin-left:1px;font-size:9px}.fcContextPanel{border-radius:18px;flex-direction:column;flex-shrink:0;gap:10px;padding:14px;display:flex}.fcCampaignPreview{background:var(--panel);border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.fcCpImg{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:40px}.fcCpName{font-size:12px;font-weight:600}.fcCpPrice{color:var(--accent);font-size:12px;font-weight:500}.fcCpDesc{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.35}.fcReviewCard{background:var(--bg);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-self:stretch;gap:8px;padding:12px;display:flex}.fcReviewCardHeader{justify-content:space-between;align-items:center;display:flex}.fcReviewTitle{font-size:13px;font-weight:700}.fcReviewScore{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.fcScoreNum{color:var(--accent);font-size:28px;font-weight:800;line-height:1}.fcScoreMax{color:var(--muted);font-size:13px}.fcScoreLabel{flex:1;min-width:100%;margin-top:2px;font-size:12px;font-weight:600}.fcReviewMetrics{grid-template-columns:1fr 1fr 1fr;gap:4px;display:grid}.fcMetric{background:var(--panel);border-radius:7px;flex-direction:column;gap:1px;padding:5px 7px;display:flex}.fcMetric span{color:var(--muted);font-size:10px}.fcMetric strong{font-size:13px}.fcReviewSection{flex-direction:column;gap:5px;display:flex}.fcReviewSectionTitle{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.fcReviewItem{border-radius:6px;padding:6px 8px;font-size:12px;line-height:1.4}.fcReviewItem--ok{border-left:2px solid var(--accent);background:#0e8c7f18}.fcReviewItem--warn{background:#ff7a1518;border-left:2px solid #ff7a45}.fcSuggestedOp{background:var(--panel);border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;transition:opacity .2s;display:flex}.fcSuggestedOp--done{opacity:.5}.fcOpReason{flex:1;font-size:12px;font-weight:500;line-height:1.3}.fcOpApply{border:1px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:600;transition:background .12s,color .12s}.fcOpApply:hover:not(:disabled){background:var(--accent);color:#fff}.fcOpApply.done{border-color:var(--muted);color:var(--muted);cursor:default}.fcReviewNote{color:var(--muted);border-top:1px solid var(--line);padding-top:6px;font-size:11px;font-style:italic;line-height:1.4}.fcMessages{flex-direction:column;flex:1;gap:7px;min-height:80px;padding:10px 12px 6px;display:flex;overflow-y:auto}.fcWelcome{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;display:flex}.fcWelcomeIcon{color:var(--accent);font-size:28px}.fcWelcomeText{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.fcWarn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.fcMsg{border-radius:12px;max-width:88%;padding:8px 11px;font-size:13px;line-height:1.45;animation:.12s ease-out rise}.fcMsg--system{background:var(--bg);color:var(--ink);border-bottom-left-radius:4px;align-self:flex-start}.fcMsg--user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.fcImagesStrip{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:0;display:flex}.fcImageThumb{border:1px solid var(--line);border-radius:7px;flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.fcImageThumb img{object-fit:cover;width:100%;height:100%;display:block}.fcImageRemove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:50%;place-items:center;width:15px;height:15px;padding:0;font-size:8px;display:grid;position:absolute;top:2px;right:2px}.fcMoodboard{margin-top:6px}.fcMoodboard--overridden{opacity:.4;pointer-events:none;filter:grayscale(.6)}.fcMoodboardLabel{color:var(--muted);margin-bottom:4px;font-size:10px}.fcMoodThumb{cursor:pointer;background:0 0;padding:0;transition:opacity .12s,filter .12s}.fcMoodThumb.muted{opacity:.38;filter:grayscale();border-color:var(--danger,#e5484d)}.fcMoodMuted{color:#fff;background:#00000059;place-items:center;font-size:16px;font-weight:700;display:grid;position:absolute;inset:0}.fcQuickActions{border-top:1px solid var(--line);flex-shrink:0;gap:6px;padding:8px 12px;display:flex}.fcActionBtn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;text-align:center;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s,transform .1s;display:inline-flex}.fcActionBtn:hover:not(:disabled){background:var(--bg);border-color:#cfcdc6;transform:translateY(-1px)}.fcActionBtn:disabled{opacity:.45;cursor:default}.fcActionBtn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.fcActionBtn.primary:hover:not(:disabled){background:#0c7d71;border-color:#0c7d71}.fcActionBtn--design{border-color:var(--accent);color:#fff;background:linear-gradient(135deg,#1a472a,#0b1f3a)}.fcActionBtn--design:hover:not(:disabled){background:linear-gradient(135deg,#1d5230,#0d2540)}.fcBriefToggle{border-top:1px solid var(--line);flex-shrink:0;padding:4px 12px 6px}.fcBriefBtn{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;align-items:center;gap:5px;padding:4px 0;font-size:11px;display:flex}.fcBriefBtn:hover{color:var(--ink)}.fcBriefDot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.fcBriefTA{min-height:52px;margin-top:6px;font-size:12px}.fcComposer{flex-shrink:0;align-items:flex-end;gap:8px;padding:0;display:flex}.fcAttach{border:1px solid var(--line);background:var(--bg);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;font-weight:300;transition:border-color .12s,color .12s;display:grid}.fcAttach:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fcAttach:disabled{opacity:.4;cursor:default}.fcInput{background:var(--bg);border:1px solid var(--line);font:inherit;color:var(--ink);resize:none;border-radius:18px;outline:none;flex:1;min-height:38px;max-height:132px;padding:9px 14px;font-size:13px;line-height:1.45;transition:border-color .12s;overflow-y:auto}.fcInput:focus{border-color:var(--accent)}.fcSend{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;transition:background .12s,transform .1s;display:grid}.fcSend:hover:not(:disabled){background:#0c7d71;transform:scale(1.06)}.fcSend:disabled{opacity:.4;cursor:default;transform:none}.propGrid{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px;display:grid}.propCell{background:var(--bg);border:1px solid var(--line);border-radius:7px;align-items:center;gap:4px;min-width:0;padding:4px 7px;display:flex}.propLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;flex-shrink:0;width:14px;font-size:10px;font-weight:700}.propNum{min-width:0;font:inherit;color:var(--ink);text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;font-size:12px}.propNum::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.propNum::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.propCell:focus-within{border-color:var(--accent)}.propAlignRow{flex-wrap:wrap;gap:3px;margin-bottom:4px;display:flex}.alignBtn{border:1px solid var(--line);background:var(--bg);cursor:pointer;min-width:28px;height:28px;color:var(--ink);border-radius:6px;flex:1;place-items:center;padding:0 4px;font-size:10px;transition:background .1s,border-color .1s;display:grid}.alignBtn:hover{border-color:var(--accent);background:var(--accent-08);color:var(--accent)}.ctxOverlay{z-index:1000;position:fixed;inset:0}.ctxMenu{z-index:1001;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:188px;padding:5px;animation:.1s ease-out rise;position:fixed;box-shadow:0 4px 24px #14171a2e}.ctxMenuTitle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--line);margin-bottom:4px;padding:4px 10px 6px;font-size:11px;font-weight:600;overflow:hidden}.ctxItem{cursor:pointer;width:100%;font:inherit;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background .1s;display:flex}.ctxItem:hover{background:var(--bg)}.ctxItem--danger{color:var(--danger)}.ctxItem--danger:hover{background:#fef2f2}.ctxIcon{text-align:center;flex-shrink:0;width:16px;font-size:12px}.ctxDivider{background:var(--line);height:1px;margin:4px 0}.multiProps{border-top:2px solid var(--accent-08);background:var(--accent-08)}.multiProps .propsTitle{color:var(--accent);font-size:12px}@media (width<=900px){.body{flex-direction:column}.panelResizer,.rail.left{display:none}.rail.right{border-left:none;border-top:1px solid var(--line);width:100%;max-height:46vh}.rail.chatRail{border-left:none;border-top:1px solid var(--line);width:100%;max-height:48vh}.page{padding:24px 16px}.dashHead{flex-direction:column}}@media (prefers-reduced-motion:reduce){.msg,.spinnerRing{animation:none}}
