:root{--brand-50:#f5f3ff;--brand-100:#ede9fe;--brand-200:#ddd6fe;--brand-300:#c4b5fd;--brand-400:#a78bfa;--brand-500:#8b5cf6;--brand-600:#7c3aed;--brand-700:#6d28d9;--brand-800:#5b21b6;--pink-500:#ec4899;--pink-400:#f472b6;--grad-brand:linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #ec4899 100%);--grad-brand-soft:linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%);--grad-mesh:radial-gradient(circle at 15% 20%, #a855f78c, transparent 45%), radial-gradient(circle at 85% 15%, #ec489973, transparent 45%), radial-gradient(circle at 50% 90%, #6366f18c, transparent 50%), #120a24;--ink-900:#0f172a;--ink-800:#1e293b;--ink-700:#334155;--ink-600:#475569;--ink-500:#64748b;--ink-400:#94a3b8;--ink-300:#cbd5e1;--ink-200:#e2e8f0;--ink-100:#f1f5f9;--ink-50:#f8fafc;--white:#fff;--text:#334155;--text-muted:#64748b;--text-strong:#0f172a;--surface:#fff;--surface-2:#f8fafc;--page-bg:#f5f6fa;--border:#e6e8ef;--border-strong:#d3d7e0;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--nav-h:60px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:999px;--shadow-xs:0 1px 2px #0f172a0f;--shadow-sm:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 12px 28px #0f172a1f, 0 4px 10px #0f172a0f;--shadow-brand:0 10px 24px #7c3aed59;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--display:"Sora", var(--sans);--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page-bg);color:var(--text);font-family:var(--sans);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--display);color:var(--text-strong);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.15}h1{font-size:clamp(1.75rem,2.4vw,2.25rem)}h2{font-size:1.375rem}h3{font-size:1.0625rem;font-weight:600}p{margin:0}a{color:var(--brand-600);text-decoration:none}a:hover{color:var(--brand-700)}button{font-family:inherit}::selection{background:var(--brand-200);color:var(--brand-800)}*{scrollbar-width:thin;scrollbar-color:var(--ink-300) transparent}.brand-text{background:var(--grad-brand);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.brand-mark{background:var(--grad-brand);color:#fff;font-family:var(--display);box-shadow:var(--shadow-brand);border-radius:30%;place-items:center;font-weight:800;display:inline-grid}.btn{font-family:var(--sans);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:.9375rem;font-weight:600;line-height:1;transition:transform .12s,box-shadow .18s,background .18s,border-color .18s,opacity .18s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--grad-brand);color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 12px 28px #7c3aed73}.btn-ghost{background:var(--surface);color:var(--text-strong);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-ghost:hover:not(:disabled){border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-50)}.btn-block{width:100%}.input{width:100%;font-size:.9375rem;font-family:var(--sans);color:var(--text-strong);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);outline:none;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--ink-400)}.input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.field-label{color:var(--text-strong);margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.badge{border-radius:var(--r-full);background:var(--brand-50);color:var(--brand-700);align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.page{min-height:calc(100vh - var(--nav-h));background:var(--page-bg);box-sizing:border-box;padding:32px clamp(20px,4vw,48px)}.page-inner{max-width:1120px;margin:0 auto}.page-inner-narrow{max-width:760px;margin:0 auto}.page-title{margin:0 0 4px}.page-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:15px}.section-label{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 14px;font-size:13px;font-weight:700}.select{width:100%;font-size:.9375rem;font-family:var(--sans);color:var(--text-strong);background-color:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;padding:11px 38px 11px 14px;transition:border-color .15s,box-shadow .15s}.select:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.alert{border-radius:var(--r-md);border:1px solid #0000;padding:12px 16px;font-size:13.5px}.alert-info{background:var(--brand-50);color:var(--brand-800);border-color:var(--brand-200)}.alert-success{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.alert-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.alert-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.chip{border-radius:var(--r-full);background:var(--ink-100);color:var(--ink-600);align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-success{color:#047857;background:#ecfdf5}.chip-warning{color:#92400e;background:#fffbeb}.chip-danger{color:#b91c1c;background:#fef2f2}.btn-danger-soft{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn-danger-soft:hover:not(:disabled){background:#fee2e2}.btn-sm{border-radius:var(--r-sm);padding:7px 13px;font-size:13px}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table thead th{text-align:left;background:var(--ink-50);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:11px 16px;font-size:12px;font-weight:600}.table tbody td{border-top:1px solid var(--border);color:var(--text);padding:12px 16px}.table tbody tr:first-child td{border-top:none}.table-wrap{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);overflow-x:auto}.auth-shell{background:var(--grad-mesh);box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:34px 32px}.auth-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:22px;display:flex}@media (width<=880px){.login-brand-panel{display:none!important}.login-mobile-logo{display:flex!important}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.editor-panel{background:var(--surface);overflow:auto}.editor-sidebar{border-right:1px solid var(--border);flex-direction:column;gap:18px;width:288px;padding:16px;display:flex}.editor-inspector{border-left:1px solid var(--border);flex-direction:column;gap:16px;width:300px;padding:16px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.side-product{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;width:100%;font-family:var(--sans);padding:10px 12px;transition:border-color .15s,background .15s,transform .1s,box-shadow .15s;display:block}.side-product:hover{border-color:var(--brand-300);background:var(--brand-50);box-shadow:var(--shadow-xs)}.side-product:active{transform:translateY(1px)}.sp-name{color:var(--text-strong);font-size:14px;font-weight:600}.sp-price{color:var(--text-muted);font-size:12.5px}.btn-icon{border-radius:var(--r-md);width:38px;height:38px;padding:0}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-direction:column;max-width:95vw;padding:24px;display:flex}.editor-inspector label{color:var(--text-strong);margin-bottom:4px;font-size:12.5px;font-weight:600;display:block}.editor-inspector input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),.editor-inspector select,.editor-inspector textarea{width:100%;font-size:13.5px;font-family:var(--sans);color:var(--text-strong);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);outline:none;padding:8px 10px;transition:border-color .15s,box-shadow .15s}.editor-inspector input:focus,.editor-inspector select:focus,.editor-inspector textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.editor-inspector button:not(.btn){font-family:var(--sans);border-radius:var(--r-sm);background:var(--surface);color:var(--text-strong);border:1px solid var(--border-strong);cursor:pointer;padding:7px 12px;font-size:13px;font-weight:600;line-height:1;transition:border-color .15s,background .15s,color .15s}.editor-inspector button:not(.btn):hover{border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-50)}.editor-inspector hr{border:none;border-top:1px solid var(--border);margin:6px 0}.editor-inspector p{color:var(--text-muted);font-size:13px}
