.mockup-presets-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.mockup-preset-card{cursor:pointer;background:#fff;border:2px solid #e5e5e5;border-radius:12px;flex-direction:column;min-height:140px;padding:16px;transition:all .2s;display:flex;position:relative}.mockup-preset-card:hover{border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf626}.mockup-preset-card.active{background:linear-gradient(135deg,#f8f5ff 0%,#fff 100%);border-color:#8b5cf6;box-shadow:0 4px 16px #8b5cf633}.mockup-icon-wrapper{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;display:flex;position:relative}.mockup-preset-card.active .mockup-icon-wrapper{background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 100%);box-shadow:0 4px 12px #6d28d94d}.new-badge{color:#fff;letter-spacing:.5px;text-transform:uppercase;background:#10b981;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:-6px;right:-6px}.mockup-preset-info{text-align:left;flex-direction:column;flex:1;display:flex}.mockup-preset-name{color:#1f2937;margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.3}.mockup-preset-desc{color:#6b7280;flex:1;margin:0 0 8px;font-size:12px;line-height:1.4}.mockup-layout-tag{color:#4b5563;background:#f3f4f6;border-radius:4px;align-self:flex-start;padding:4px 8px;font-size:11px;font-weight:500;display:inline-block}.mockup-preset-card.active .mockup-layout-tag{color:#fff;background:#8b5cf6}.manual-box-section{border-top:1px solid #e5e5e5;margin-top:24px;padding-top:24px}.add-manual-box-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.add-manual-box-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.add-manual-box-btn:active{transform:translateY(0)}.add-manual-box-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.manual-box-info{animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mockup-status{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;font-size:13px;display:flex}.mockup-status.inactive{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.mockup-status-icon{background:#22c55e;border-radius:50%;width:8px;height:8px}.mockup-status.inactive .mockup-status-icon{background:#9ca3af}.floor-sync-indicator{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;font-size:12px;display:flex}.floor-sync-indicator svg{width:14px;height:14px}@media (max-width:768px){.mockup-presets-grid{grid-template-columns:repeat(2,1fr);gap:10px}.mockup-preset-card{min-height:120px;padding:12px}.mockup-icon-wrapper{width:40px;height:40px;margin-bottom:10px}.mockup-preset-name{font-size:13px}.mockup-preset-desc{font-size:11px}.mockup-layout-tag{padding:3px 6px;font-size:10px}.add-manual-box-btn{padding:10px 14px;font-size:13px}}@media (max-width:480px){.mockup-presets-grid{grid-template-columns:1fr}}@keyframes mockupFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mockup-preset-card{animation:.3s mockupFadeIn}.mockup-loading{pointer-events:none;opacity:.6;position:relative}.mockup-loading:after{content:"";border:2px solid #8b5cf6;border-top-color:#0000;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.mockup-preset-card:hover:before{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;opacity:1;background:#1f2937;border-radius:6px;padding:6px 12px;font-size:12px;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.mockup-preset-card:focus-visible{outline-offset:2px;outline:2px solid #8b5cf6}.add-manual-box-btn:focus-visible{outline-offset:2px;outline:2px solid #10b981}.feedback-button-container{z-index:9999;position:fixed;bottom:24px;right:24px}.feedback-button-wrapper{position:relative}.feedback-pulse{opacity:.75;background:#60a5fa;border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite feedbackPulse;position:absolute;inset:-4px}@keyframes feedbackPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:0;transform:scale(1.1)}}.feedback-button-wrapper:hover .feedback-pulse{opacity:1;animation-duration:1.5s}.feedback-button{color:#fff;cursor:pointer;z-index:1;background:linear-gradient(135deg,#2563eb 0%,#9333ea 50%,#4f46e5 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 12px #9233ea59}.feedback-button:hover{background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);transform:scale(1.05);box-shadow:0 6px 16px #9233ead5}.feedback-button:active{transform:scale(.98)}.feedback-popup{z-index:9999;transform-origin:100% 100%;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:320px;animation:.3s cubic-bezier(.16,1,.3,1) feedbackPopupIn;position:fixed;bottom:96px;right:24px;overflow:hidden;box-shadow:0 20px 60px #00000026}@keyframes feedbackPopupIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.feedback-popup-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px;display:flex}.feedback-popup-title{color:#1f2937;margin:0;font-size:16px;font-weight:600}.feedback-close-button{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.feedback-close-button:hover{color:#4b5563;background:#e5e7eb}.feedback-popup-body{padding:16px}.feedback-success{text-align:center;color:#059669;padding:32px 0;animation:.3s feedbackFadeIn}@keyframes feedbackFadeIn{0%{opacity:0}to{opacity:1}}.feedback-success-icon{color:#059669;background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 12px;display:flex}.feedback-success-title{margin:0 0 4px;font-size:16px;font-weight:600}.feedback-success-subtitle{color:#6b7280;margin:0;font-size:12px}.feedback-form{flex-direction:column;gap:16px;display:flex}.feedback-form-group{flex-direction:column;display:flex}.feedback-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.feedback-input,.feedback-textarea{color:#1f2937;box-sizing:border-box;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .2s}.feedback-input::placeholder,.feedback-textarea::placeholder{color:#9ca3af}.feedback-input:focus,.feedback-textarea:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.feedback-textarea{resize:none;min-height:100px}.feedback-submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #2563eb33}.feedback-submit-button:hover{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.feedback-submit-button:active{transform:translateY(0)}.feedback-submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.feedback-loading{align-items:center;gap:8px;display:flex}.feedback-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite feedbackSpin}@keyframes feedbackSpin{to{transform:rotate(360deg)}}.feedback-error{background:#fef2f2;border-top:1px solid #fecaca;padding:12px}.feedback-error-text{color:#dc2626;text-align:center;justify-content:center;align-items:center;gap:4px;margin:0;font-size:12px;display:flex}@media (max-width:768px){.feedback-button-container{bottom:16px;right:16px}.feedback-popup{width:auto;bottom:80px;left:16px;right:16px}.feedback-button{width:52px;height:52px}}@media (max-width:480px){.feedback-popup{bottom:76px;left:12px;right:12px}.feedback-button-container{bottom:150px;right:12px}}
