:root{--navy: #0b1330;--navy-light: #16204a;--accent: #38bdf8;--accent-dark: #0ea5e9;--bg: #f7f8fa;--border: #e5e7eb;--text: #101828;--text-muted: #667085;--danger: #dc2626;--warning: #d97706}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}.login-card{background:#fff;border-radius:20px;padding:52px;width:min(92vw,420px);text-align:center}.login-card img{width:84px;height:84px;border-radius:18px;margin-bottom:20px}.login-card h1{font-size:15px;font-weight:600;color:var(--text-muted);margin:0 0 28px}.field-label{display:block;text-align:left;font-size:14px;font-weight:600;color:var(--text);margin-bottom:7px}.login-card input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:18px;font-size:15px}.login-error{color:var(--danger);font-size:13px;margin:-10px 0 14px}.login-card button{width:100%;padding:13px 14px;border:none;border-radius:10px;background:var(--accent-dark);color:#fff;font-weight:600;cursor:pointer;font-size:15px}.designer-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.designer-page{min-height:100vh;padding-bottom:40px}.designer-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.designer-title{font-weight:700;font-size:15px;color:var(--text)}.designer-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn-secondary,.btn-primary{border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer}.btn-secondary{background:#f0f2f5;color:var(--text)}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:var(--accent-dark);color:#fff}.btn-primary:disabled{opacity:.7;cursor:default}.designer-logout{background:#fff;border:1px solid var(--border);color:var(--accent-dark);width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.designer-error{background:#fef2f2;color:var(--danger);text-align:center;padding:10px;font-size:13px;font-weight:600}.designer-hint{text-align:center;color:var(--text-muted);font-size:13px;margin:18px auto 10px;max-width:520px;padding:0 16px}.designer-canvas-wrap{display:flex;justify-content:center;padding:10px 16px 30px}.designer-canvas{position:relative;width:min(96vw,1100px);aspect-ratio:16 / 9;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #10182814;overflow:hidden}.designer-el{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border:1px dashed transparent;border-radius:6px;display:flex}.designer-el:active{cursor:grabbing}.designer-el.is-selected{border-color:var(--accent-dark);box-shadow:0 0 0 3px #0ea5e926}.designer-el img{width:100%;height:100%;object-fit:contain;pointer-events:none}.preview-companyname{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:clamp(12px,2.4vw,22px);text-align:center;color:var(--text);padding:4px}.preview-companyname-input{width:100%;height:100%;border:none;outline:none;background:transparent;text-align:center;font-weight:800;font-size:clamp(12px,2.4vw,22px);color:var(--text);font-family:inherit;padding:4px}.preview-searchbar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:clamp(10px,1.6vw,15px);text-align:center;padding:4px 10px}.preview-productcard{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-top:4px solid var(--accent);border-radius:12px;box-shadow:0 1px 3px #1018280f}.preview-productcard-name{font-weight:700;font-size:clamp(11px,1.8vw,18px);color:var(--text);margin-bottom:6px}.preview-productcard-price{font-weight:800;font-size:clamp(16px,3vw,32px);color:var(--accent-dark)}.resize-handle{position:absolute;bottom:-7px;right:-7px;width:16px;height:16px;background:var(--accent-dark);border:2px solid #fff;border-radius:4px;cursor:nwse-resize;touch-action:none}.remove-badge{position:absolute;top:-26px;right:0;background:var(--danger);color:#fff;font-size:11px;font-weight:600;border:none;border-radius:6px;padding:4px 8px;cursor:pointer}.style-panel{position:fixed;top:90px;right:16px;width:220px;max-height:calc(100vh - 110px);overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 16px #1018281f;padding:16px;z-index:30}.style-panel h3{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--text)}.style-panel label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:14px}.style-panel select,.style-panel input[type=range]{display:block;width:100%;margin-top:6px}.style-panel select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text)}.style-panel input[type=color]{display:block;margin-top:6px;width:100%;height:32px;border:1px solid var(--border);border-radius:6px;padding:2px;cursor:pointer}
