*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:Inter,"Noto Sans Arabic",system-ui,sans-serif;background:#e9edf5;color:#101828}.designer-root{height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at 70% 5%,#f5f8ff 0,#e8edf5 40%,#e2e8f1 100%)}
.designer-topbar{height:68px;flex:0 0 68px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(209,216,228,.82);display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1fr) minmax(340px,1fr);align-items:center;gap:14px;padding:0 18px;z-index:50;box-shadow:0 6px 22px rgba(18,34,66,.05)}
.designer-brand,.designer-actions,.designer-doc-meta{display:flex;align-items:center;gap:10px;min-width:0}.designer-logo{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#1428ff,#5f72ff);box-shadow:0 8px 20px rgba(20,40,255,.22);color:#fff;font-weight:950}.designer-back{font-size:24px;text-decoration:none;color:#111827;width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.designer-back:hover{background:#f2f4f8}.designer-brand div{min-width:0}.designer-brand b,.designer-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.designer-brand b{font-size:14px}.designer-brand small{color:#667085;font-size:10px;margin-top:2px}.designer-doc-meta{justify-content:center}.designer-doc-meta input,.designer-doc-meta select{border:1px solid #d8dee8;background:#f8fafc;border-radius:12px;padding:9px 11px;min-width:0;font:inherit;color:#172033}.designer-doc-meta input{max-width:190px}.designer-actions{justify-content:flex-end}.designer-actions span{font-size:11px;color:#667085}.designer-actions button{border:1px solid #d7dde7;background:#fff;border-radius:11px;padding:9px 12px;font-weight:800;cursor:pointer}.designer-actions button:hover{background:#f5f7fb}.designer-actions .designer-done{background:linear-gradient(135deg,#1428ff,#465cff);border-color:#1428ff;color:#fff;box-shadow:0 8px 18px rgba(20,40,255,.2)}
.designer-contextbar{height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(247,249,252,.9);border-bottom:1px solid #dfe4ec;z-index:35}.designer-context-left,.designer-context-right{display:flex;align-items:center;gap:7px;min-width:0}.doc-chip{display:inline-flex;align-items:center;gap:5px;min-height:27px;border:1px solid #e0e5ed;background:#fff;border-radius:999px;padding:4px 9px;font-size:10px;color:#5b6678;white-space:nowrap}.doc-chip b{color:#111827}.designer-context-right button,.designer-context-right a{min-height:29px;border:1px solid #dce2ec;background:#fff;border-radius:9px;padding:5px 9px;color:#475467;text-decoration:none;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.designer-context-right .is-active{background:#edf1ff;border-color:#cdd6ff;color:#1428ff}
.designer-workspace{flex:1;min-height:0;display:grid;grid-template-columns:82px 334px minmax(0,1fr)}.designer-toolbar{background:linear-gradient(180deg,#121a2a,#0c1422);color:#fff;display:flex;flex-direction:column;padding:10px 7px;gap:4px;z-index:30;border-inline-end:1px solid rgba(255,255,255,.06)}.designer-toolbar button{border:0;background:transparent;color:#c8d0df;border-radius:13px;min-height:60px;padding:7px 3px;cursor:pointer;font:inherit;transition:.15s}.designer-toolbar button span,.designer-toolbar button b{display:block}.designer-toolbar button span{font-size:19px;margin-bottom:4px}.designer-toolbar button b{font-size:9px;font-weight:650}.designer-toolbar button.active,.designer-toolbar button:hover{background:linear-gradient(135deg,#263450,#1d2940);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.designer-panel{background:rgba(255,255,255,.95);border-inline-end:1px solid #dfe4ec;min-width:0;z-index:29;box-shadow:12px 0 28px rgba(27,43,74,.05)}.designer-panel-scroll{height:100%;overflow:auto;padding:22px}.designer-panel h2{font-size:20px;margin:0 0 8px;letter-spacing:-.02em}.designer-panel h3{font-size:13px;margin:20px 0 8px}.designer-panel p{font-size:12px;color:#667085;line-height:1.65}.panel-kicker{font-size:9px;letter-spacing:.14em;color:#1428ff;font-weight:900}.panel-title{display:flex;justify-content:space-between;align-items:start}
.designer-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.designer-template-grid button{border:1px solid #dfe5ef;background:#fff;border-radius:15px;padding:8px;text-align:start;cursor:pointer;box-shadow:0 7px 20px rgba(20,35,67,.05);transition:.16s}.designer-template-grid button:hover{border-color:#aab8ff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,40,255,.09)}.designer-template-grid strong{font-size:11px;display:block;padding:7px 2px 2px}.template-preview{height:94px;border-radius:10px;overflow:hidden;display:block;position:relative;background:#f6f7fb;border:1px solid #edf0f5}.template-preview b,.template-preview span,.template-preview em{position:absolute;display:block}.template-preview.minimal b{top:0;left:0;right:0;height:9px;background:#1428ff}.template-preview.minimal span{width:58%;height:9px;top:28px;left:13px;background:#171c29;border-radius:3px}.template-preview.minimal em{width:42%;height:5px;top:46px;left:13px;background:#9aa4b6;border-radius:3px}.template-preview.bold{background:#0f1c35}.template-preview.bold b{right:0;top:0;bottom:0;width:34%;background:#1428ff}.template-preview.bold span{width:48%;height:19px;left:12px;top:23px;background:#fff;border-radius:3px}.template-preview.bold em{width:18px;height:18px;border-radius:50%;right:12px;top:16px;background:#ff3154}.template-preview.corporate b{inset:10px;background:#fff;border-radius:6px;box-shadow:0 3px 12px #1d2d4a13}.template-preview.corporate span{top:10px;bottom:10px;left:10px;width:12%;background:#1428ff;border-radius:6px 0 0 6px}.template-preview.corporate em{left:36px;top:30px;width:43%;height:7px;background:#202636;border-radius:2px}.template-preview.blank{display:grid;place-items:center;background:repeating-linear-gradient(0deg,#fff,#fff 11px,#f3f5f8 12px),repeating-linear-gradient(90deg,transparent,transparent 11px,#eef1f5 12px)}.template-preview.blank span{position:static;font-size:28px;color:#8c97aa}
.product-design-assets{margin-top:22px;border-top:1px solid #e8ebf1;padding-top:16px}.product-design-assets a{display:flex;gap:10px;align-items:center;text-decoration:none;color:#344054;border:1px solid #e5e9ef;border-radius:12px;padding:10px;margin-top:7px}.product-design-assets a>span{width:30px;height:30px;border-radius:9px;background:#eef2ff;color:#1428ff;display:grid;place-items:center}.product-design-assets b,.product-design-assets small{display:block}.product-design-assets b{font-size:11px}.product-design-assets small{font-size:9px;color:#778195;margin-top:2px}
.design-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.design-tool-grid.enhanced{grid-template-columns:repeat(3,1fr)}.design-tool-grid button,.wide-tool,.design-font-presets button{border:1px solid #dfe4ec;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:13px;padding:13px 8px;cursor:pointer;font:inherit}.design-tool-grid button:hover,.wide-tool:hover,.design-font-presets button:hover{border-color:#bdc8ff;background:#f5f7ff}.design-tool-grid i{display:block;font-style:normal;font-size:22px;font-weight:850;color:#1428ff}.design-tool-grid span{display:block;margin-top:6px;font-size:10px}.designer-tip,.brand-kit-card,.designer-empty{background:linear-gradient(135deg,#f2f5ff,#f8faff);border:1px solid #dbe2ff;border-radius:14px;padding:14px;font-size:11px}.designer-tip b,.designer-tip span{display:block}.designer-tip span{margin-top:5px;line-height:1.55;color:#526078}.design-font-presets{display:grid;gap:8px;margin-top:12px}.design-font-presets button{text-align:start}.design-font-presets strong,.design-font-presets small{display:block}.design-font-presets small{color:#7c8799;margin-top:3px}.font-palette{margin-top:18px}.font-palette>span{font-size:10px;color:#667085;font-weight:800}.font-palette>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.font-palette button{border:1px solid #dfe4ec;background:#fff;border-radius:999px;padding:7px 9px;font-size:9px;cursor:pointer}
.design-upload-drop{display:grid;place-items:center;border:1.5px dashed #b7c1d3;border-radius:18px;padding:24px 12px;text-align:center;cursor:pointer;background:linear-gradient(135deg,#f9fbff,#f3f6fc);transition:.15s}.design-upload-drop.dragging{border-color:#1428ff;background:#eef2ff;transform:scale(1.01)}.upload-visual{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#1428ff,#6878ff);display:grid;place-items:center;box-shadow:0 10px 22px rgba(20,40,255,.2);margin-bottom:10px}.upload-visual i{font-style:normal;color:#fff;font-size:28px}.design-upload-drop b,.design-upload-drop span{display:block}.design-upload-drop span{font-size:10px;color:#7b8597;margin-top:4px}.upload-progress{height:34px;margin:10px 0;background:#eef1f5;border-radius:10px;overflow:hidden;position:relative}.upload-progress span{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#1428ff,#6878ff);opacity:.18;transition:.15s}.upload-progress b{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:#475467}.media-library{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.media-tile{min-width:0;border:1px solid #e0e5ed;background:#fff;border-radius:12px;padding:6px;text-align:start;cursor:pointer}.media-tile:hover{border-color:#9facff;box-shadow:0 8px 20px rgba(20,40,255,.09)}.media-tile>span{display:grid;place-items:center;aspect-ratio:1.2/1;border-radius:8px;background:#f3f5f8;overflow:hidden}.media-tile img{width:100%;height:100%;object-fit:contain}.media-tile b,.media-tile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-tile b{font-size:9px;margin-top:5px}.media-tile small{font-size:8px;color:#7c8799;margin-top:2px}
.brand-kit-card img{max-width:120px;max-height:60px;object-fit:contain;display:block;margin-bottom:10px}.brand-colors{display:flex;gap:8px;margin:10px 0}.brand-colors button{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #ccd4e0;background:var(--c)}.design-layer-list{display:grid;gap:6px}.design-layer-list button{display:flex;align-items:center;gap:10px;border:1px solid #e2e7ef;background:#fff;border-radius:10px;padding:9px 10px;text-align:start;cursor:pointer}.design-layer-list button.active{border-color:#1428ff;background:#f0f3ff}.design-layer-list span{width:24px;text-align:center}.design-layer-list b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-doc-specs{margin:12px 0}.design-doc-specs div{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f5;padding:9px 0;font-size:11px}.design-doc-specs dt{color:#667085}.design-doc-specs dd{margin:0;font-weight:800}.doc-action-grid{display:grid;grid-template-columns:1fr;gap:7px;margin-top:12px}.doc-action-grid button,.doc-action-grid a{border:1px solid #dfe4ec;background:#fff;border-radius:10px;padding:10px;text-align:center;text-decoration:none;color:#344054;font:inherit;font-size:10px;font-weight:800}.designer-selection{border-top:1px solid #e7ebf1;margin-top:18px;padding-top:18px}.selection-head{display:flex;align-items:center;justify-content:space-between}.selection-head button{border:0;background:#feecef;color:#b4233c;width:30px;height:30px;border-radius:9px;font-size:20px}.selection-align-tools{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:10px 0}.selection-align-tools button{height:30px;border:1px solid #e0e5ed;background:#fff;border-radius:8px;color:#475467;cursor:pointer}.design-field{display:grid;gap:5px;margin:9px 0}.design-field span{font-size:10px;color:#667085;font-weight:800}.design-field input,.design-field select,.design-field textarea{width:100%;border:1px solid #d8dee8;border-radius:9px;padding:9px 10px;font:inherit;font-size:12px;background:#fff}.design-field textarea{min-height:72px;resize:vertical}.design-field input[type=color]{height:40px;padding:4px}.design-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.selection-actions button{border:1px solid #dfe4ec;background:#fff;border-radius:9px;padding:8px;font-size:10px;font-weight:700;cursor:pointer}.designer-empty{line-height:1.6;color:#59677e}
.designer-stage{position:relative;min-width:0;min-height:0;background:linear-gradient(135deg,#e5eaf2,#edf1f7 55%,#e4eaf3)}.designer-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#aeb8c9 1px,transparent 1px);background-size:24px 24px;opacity:.22;pointer-events:none}.designer-scroll{position:absolute;inset:0;overflow:auto;display:grid;place-items:center;padding:90px}.designer-stage-controls{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.72);border-radius:13px;padding:4px;z-index:12;box-shadow:0 10px 28px rgba(20,35,67,.11)}.designer-stage-controls button{border:0;background:#f5f7fa;border-radius:8px;min-width:34px;height:32px;cursor:pointer;font-weight:900}.designer-stage-controls span{min-width:48px;text-align:center;font-size:10px}.design-canvas-shell{padding:18px;filter:drop-shadow(0 25px 40px rgba(27,43,74,.22));position:relative;z-index:3}.design-canvas{position:relative;background:#fff;overflow:hidden;transform-origin:center;--bleed:12px;--trim-w:340px;--trim-h:220px;--safe:12px;--grid-step:4px}.design-canvas.show-grid:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(20,40,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(20,40,255,.055) 1px,transparent 1px);background-size:var(--grid-step) var(--grid-step);pointer-events:none}.bleed-guide{position:absolute;inset:0;border:1px dashed #c5cad3;pointer-events:none;z-index:5}.trim-guide{position:absolute;left:var(--bleed);top:var(--bleed);width:var(--trim-w);height:var(--trim-h);border:1px dashed #ff3154;pointer-events:none;z-index:5}.safe-guide{position:absolute;left:calc(var(--bleed) + var(--safe));top:calc(var(--bleed) + var(--safe));width:calc(var(--trim-w) - var(--safe) * 2);height:calc(var(--trim-h) - var(--safe) * 2);border:1px dashed #1f70ff;pointer-events:none;z-index:5}.design-elements{position:absolute;z-index:6}.design-el{position:absolute;touch-action:none;cursor:move;user-select:none;transform-origin:center;min-width:2px;min-height:2px}.design-el.selected{outline:1.5px solid #1428ff;outline-offset:3px;box-shadow:0 0 0 1px #fff}.design-el-text{white-space:pre-wrap;line-height:1.15;overflow:hidden}.design-el-image img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.design-el-line{display:flex;align-items:center}.design-el-line i{width:100%;display:block}.design-resize{display:none;position:absolute;width:12px;height:12px;border:2px solid #fff;background:#1428ff;border-radius:50%;right:-8px;bottom:-8px;cursor:nwse-resize;box-shadow:0 0 0 1px #1428ff}.design-el.selected .design-resize{display:block}.designer-stage-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:12;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(17,30,55,.08);border-radius:999px;padding:7px 12px;font-size:9px;color:#667085;display:flex;gap:7px;align-items:center}.designer-stage-hint span{width:7px;height:7px;border-radius:50%;background:#19b776;box-shadow:0 0 0 4px rgba(25,183,118,.10)}.designer-mobile-actions{display:none}
@media(max-width:1160px){.designer-topbar{grid-template-columns:1fr auto}.designer-doc-meta{display:none}.designer-actions span{display:none}.designer-workspace{grid-template-columns:72px 286px minmax(0,1fr)}.designer-context-left .doc-chip:nth-child(n+3){display:none}}
@media(max-width:800px){html,body{overflow:hidden}.designer-topbar{height:58px;flex-basis:58px;grid-template-columns:minmax(0,1fr) auto;padding:0 9px;gap:6px}.designer-brand{gap:5px}.designer-logo{width:31px;height:31px}.designer-brand b{font-size:11px}.designer-brand small{font-size:8px}.designer-actions button:not(.designer-done){display:none}.designer-actions .designer-done{padding:9px 10px;font-size:10px}.designer-contextbar{height:36px;flex-basis:36px;padding:0 8px}.designer-context-left .doc-chip:not(:first-child){display:none}.designer-context-right a{display:none}.designer-context-right button{padding:4px 7px}.designer-workspace{display:block;position:relative}.designer-toolbar{position:absolute;left:0;right:0;bottom:0;height:72px;flex-direction:row;justify-content:space-around;padding:5px 4px;padding-bottom:max(5px,env(safe-area-inset-bottom));z-index:50;border-top:1px solid #2a354a}.designer-toolbar button{flex:1;min-height:54px;max-width:62px}.designer-toolbar button span{font-size:16px}.designer-toolbar button b{font-size:8px}.designer-panel{position:absolute;left:0;right:0;bottom:72px;height:min(65dvh,560px);transform:translateY(calc(100% + 85px));transition:transform .22s ease;z-index:45;border-top-left-radius:22px;border-top-right-radius:22px;box-shadow:0 -18px 40px rgba(17,24,39,.20)}.designer-panel.mobile-open{transform:translateY(0)}.designer-panel-scroll{padding:18px 16px}.designer-stage{height:100%}.designer-scroll{padding:62px 22px 140px;display:flex;align-items:center;justify-content:center}.designer-stage-controls{top:8px;right:8px}.designer-mobile-actions{position:absolute;display:flex;left:10px;right:10px;bottom:82px;gap:8px;z-index:25}.designer-mobile-actions button{flex:1;border:0;border-radius:13px;padding:12px;background:rgba(255,255,255,.92);box-shadow:0 9px 25px rgba(32,43,70,.14);font-weight:850}.designer-mobile-actions button:last-child{background:linear-gradient(135deg,#1428ff,#5265ff);color:#fff}.design-canvas-shell{padding:9px}.design-field input,.design-field select,.design-field textarea{font-size:16px}.design-tool-grid.enhanced{grid-template-columns:repeat(3,1fr)}.designer-template-grid{grid-template-columns:repeat(2,1fr)}.media-library{grid-template-columns:repeat(3,1fr)}.designer-stage-hint{display:none}}
@media(max-width:480px){.designer-toolbar button:nth-child(6),.designer-toolbar button:nth-child(7){display:none}.designer-template-grid{grid-template-columns:1fr 1fr}.media-library{grid-template-columns:1fr 1fr}.designer-brand small{display:none}.designer-context-right button:last-child{display:none}.designer-panel{height:min(70dvh,590px)}}

/* v2.2 designer resilience + visual refinement */
.designer-shell,.designer-app{background:#eef2f8!important}.designer-topbar{background:rgba(10,20,38,.96)!important;backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(8,17,35,.18)}.designer-tools{background:#111d32!important}.designer-tools button{border-radius:12px!important}.designer-tools button.active{background:linear-gradient(135deg,#1937ff,#765cff)!important;box-shadow:0 9px 20px rgba(25,55,255,.28)}.designer-panel{background:rgba(255,255,255,.96)!important;border-color:#e4e8f0!important}.designer-panel-scroll section{border-bottom-color:#edf0f5!important}.designer-template-grid button,.media-tile,.brand-kit-card,.designer-tip{border-radius:15px!important;border-color:#e4e9f1!important}.designer-template-grid button:hover,.media-tile:hover{border-color:rgba(25,55,255,.25)!important;box-shadow:0 12px 28px rgba(13,26,56,.09)}.designer-stage{background:radial-gradient(circle at 50% 45%,#e4e9f2 0%,#dbe2ed 50%,#d3dce8 100%)!important}.design-canvas-shell{box-shadow:0 30px 80px rgba(11,24,50,.20)!important}.design-canvas{box-shadow:0 8px 24px rgba(11,24,50,.12)!important}.designer-stage-controls{background:rgba(255,255,255,.90)!important;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 12px 30px rgba(11,24,50,.12)!important;border-radius:14px!important}.designer-mobile-actions{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px)}

/* v2.3 studio interaction + 3D preview */
.upload-progress-premium{height:58px;border-radius:16px;background:linear-gradient(180deg,#eff3f8,#e8eef5);border:1px solid #d9e2ec;overflow:hidden;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 22px rgba(15,23,42,.05)}
.upload-progress-premium span{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#16a34a,#34d399);opacity:1;transition:width .2s ease}
.upload-progress-premium b,.upload-progress-premium small{position:absolute;left:16px;right:16px;z-index:2}
.upload-progress-premium b{top:9px;font-size:16px;color:#082f1d;font-weight:900;display:block;text-align:start}
.upload-progress-premium small{bottom:9px;font-size:11px;color:#14532d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 10px}
.preview-mode-grid button,.preview-tabs button,.preview-orbit button{border:1px solid #dbe3ef;background:#fff;border-radius:12px;padding:10px 12px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.preview-mode-grid button.active,.preview-tabs button.active{background:linear-gradient(135deg,#1428ff,#5d71ff);border-color:#1428ff;color:#fff}
.designer-preview-stage{position:absolute;top:16px;left:16px;width:min(320px,28vw);min-width:250px;z-index:15;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:14px;box-shadow:0 16px 40px rgba(15,23,42,.14)}
.designer-preview-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.designer-preview-head b{font-size:14px}.designer-preview-head small{font-size:10px;color:#667085}
.preview-tabs{display:flex;gap:6px;margin-bottom:10px}.preview-pane{display:none}.preview-pane.active{display:block}
.product-mockup{height:260px;position:relative;display:grid;place-items:center;perspective:1400px;border-radius:18px;background:radial-gradient(circle at 50% 15%,#f8fbff 0,#eef3f8 55%,#e3eaf2 100%);overflow:hidden}
.product-mockup:before{content:"";position:absolute;left:12%;right:12%;bottom:18px;height:22px;border-radius:50%;background:radial-gradient(circle,#97a6ba55 0,#97a6ba22 45%,transparent 70%);filter:blur(5px)}
.mockup-rotator{position:relative;transform-style:preserve-3d;transition:transform .35s ease}
.mockup-card,.mockup-mug,.mockup-poster,.mockup-stamp{display:none;position:relative;transform-style:preserve-3d}
.product-mockup.card .mockup-card,.product-mockup.generic .mockup-card,.product-mockup.auto .mockup-card{display:block}
.product-mockup.mug .mockup-mug{display:block}
.product-mockup.poster .mockup-poster{display:block}
.product-mockup.stamp .mockup-stamp{display:block}
.mock-surface{background-image:var(--design-image);background-position:center;background-repeat:no-repeat;background-size:cover}
.mockup-card{width:190px;height:118px;border-radius:12px;background:#fff;box-shadow:0 20px 40px rgba(15,23,42,.2);transform:rotateX(8deg) rotateZ(-14deg)}
.mockup-card .mock-surface{position:absolute;inset:0;border-radius:12px;overflow:hidden}
.mockup-mug{width:180px;height:148px}.mug-wrap{position:absolute;left:20px;top:18px;width:118px;height:112px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#fff,#eef2f7);box-shadow:0 20px 34px rgba(15,23,42,.18);overflow:hidden;border:1px solid #dde4ed}.mug-wrap .mock-surface{position:absolute;inset:18px 10px 14px 10px;border-radius:8px;background-size:cover}.mug-handle{position:absolute;left:125px;top:34px;width:44px;height:62px;border:10px solid #e5ebf2;border-left-width:12px;border-radius:0 30px 30px 0;box-shadow:inset 0 0 0 2px #c9d4e0}
.mockup-poster{width:176px;height:216px}.poster-frame{position:absolute;inset:0;padding:10px;background:#111827;border-radius:6px;box-shadow:0 22px 36px rgba(15,23,42,.24)}.poster-frame .mock-surface{height:100%;border-radius:2px;background-size:cover}
.mockup-stamp{width:190px;height:155px}.stamp-top{position:absolute;left:36px;top:22px;width:118px;height:72px;border-radius:18px 18px 14px 14px;background:linear-gradient(180deg,#243347,#142132);box-shadow:0 18px 32px rgba(15,23,42,.22)}.stamp-face{position:absolute;left:14px;right:14px;bottom:-28px;height:44px;border-radius:10px;background:#f7f9fb;border:1px solid #dbe4ef;box-shadow:0 14px 26px rgba(15,23,42,.18)}.stamp-face .mock-surface{position:absolute;inset:6px;border-radius:7px;background-size:contain}.stamp-base{position:absolute;left:28px;right:28px;bottom:18px;height:22px;border-radius:10px;background:linear-gradient(180deg,#16202f,#0f1723)}
.preview-orbit{display:flex;justify-content:center;gap:6px;margin-top:10px}
.flat-preview{height:260px;display:grid;place-items:center;border-radius:18px;background:radial-gradient(circle at 50% 10%,#f8fbff 0,#eef3f8 60%,#e3eaf2 100%);padding:16px}.flat-preview img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 40px rgba(15,23,42,.18);border-radius:10px;background:#fff}
.selection-actions{grid-template-columns:repeat(2,1fr)}
@media(max-width:1200px){.designer-preview-stage{width:250px;min-width:250px}}
@media(max-width:800px){.designer-preview-stage{top:auto;left:auto;right:8px;bottom:150px;width:min(220px,calc(100vw - 22px));min-width:unset;padding:11px;border-radius:18px}.product-mockup,.flat-preview{height:180px}.preview-mode-grid{grid-template-columns:repeat(3,1fr)}.preview-mode-grid button{padding:8px 7px;font-size:10px}.mockup-card{transform:rotateX(8deg) rotateZ(-10deg) scale(.82)}.mockup-poster,.mockup-stamp,.mockup-mug{transform:scale(.82)}}
@media(max-width:560px){.designer-preview-stage{display:none}.designer-scroll{padding-inline:12px}}

/* v2.4 Studio Engine visual + interaction hardening */
.design-el-text.text-editing{cursor:text;user-select:text!important;outline:2px solid #1739ff!important;outline-offset:4px;background:rgba(255,255,255,.82);box-shadow:0 0 0 5px rgba(23,57,255,.08)}
.designer-preflight-mini{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.designer-preflight-mini>div{display:flex;align-items:center;gap:7px;border:1px solid #e2e7ef;border-radius:12px;padding:9px;background:#fff}.designer-preflight-mini b{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:10px;background:#eaf8ef;color:#15803d}.designer-preflight-mini .warn b{background:#fff2df;color:#b45309}.designer-preflight-mini span{font-size:9px;color:#647084;line-height:1.35}
.product-mockup.sticker .mockup-sticker,.product-mockup.box .mockup-box,.product-mockup.bag .mockup-bag{display:block}.mockup-sticker,.mockup-box,.mockup-bag{display:none;position:relative;transform-style:preserve-3d}.mockup-sticker{width:180px;height:180px}.sticker-face{position:absolute;inset:10px;border-radius:50%;background:#fff;padding:9px;box-shadow:0 22px 42px rgba(15,23,42,.2);border:1px solid #dbe3ed;transform:rotateZ(-8deg)}.sticker-face .mock-surface{width:100%;height:100%;border-radius:50%;background-size:cover}.mockup-box{width:185px;height:170px;transform:rotateX(-8deg) rotateY(-18deg)}.box-face{position:absolute;transform-origin:center;background:#fff;border:1px solid #d9e2ed;box-shadow:0 14px 30px rgba(15,23,42,.12)}.box-front{width:130px;height:118px;left:20px;top:36px;transform:translateZ(34px);overflow:hidden}.box-front .mock-surface{width:100%;height:100%;background-size:cover}.box-side{width:68px;height:118px;left:150px;top:36px;transform:rotateY(90deg) translateZ(-34px);background:linear-gradient(180deg,#edf2f7,#dfe7ef)}.box-top{width:130px;height:68px;left:20px;top:-31px;transform:rotateX(90deg) translateZ(-34px);background:linear-gradient(135deg,#fafcff,#e9eef5)}.mockup-bag{width:180px;height:205px}.bag-body{position:absolute;left:22px;right:22px;top:48px;bottom:10px;background:linear-gradient(135deg,#fff,#eef2f6);border:1px solid #d8e0ea;box-shadow:0 24px 40px rgba(15,23,42,.18);transform:rotateY(-10deg);overflow:hidden}.bag-body .mock-surface{position:absolute;inset:24px 17px 28px;background-size:contain}.bag-handle{position:absolute;left:57px;top:12px;width:70px;height:67px;border:8px solid #cfd7e1;border-bottom:0;border-radius:40px 40px 0 0;transform:rotateY(-10deg)}
.designer-runtime-error{position:absolute;inset:20px;display:grid;place-items:center;align-content:center;text-align:center;border-radius:24px;background:#fff;border:1px solid #e3e8ef;box-shadow:0 24px 70px rgba(15,23,42,.14);padding:30px}.designer-runtime-error b{font-size:24px}.designer-runtime-error p{max-width:540px;color:#657084;line-height:1.7}
@media(max-width:800px){.designer-preflight-mini{grid-template-columns:1fr}.mockup-box,.mockup-bag,.mockup-sticker{transform:scale(.78)}}
