@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--glow-color, rgba(236, 72, 153, .15))}50%{box-shadow:0 0 35px var(--glow-color-strong, rgba(236, 72, 153, .3))}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root,[data-theme=dark-purple]{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--bg-glass: rgba(255, 255, 255, .07);--bg-input: rgba(255, 255, 255, .06);--text-primary: #f0f0f5;--text-secondary: #9a9ab0;--text-muted: #6a6a80;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--pink: #ec4899;--pink-light: #f472b6;--purple: #a855f7;--gradient: linear-gradient(135deg, #ec4899, #a855f7);--gradient-subtle: linear-gradient(135deg, rgba(236, 72, 153, .15), rgba(168, 85, 247, .15));--ready-bg: rgba(16, 185, 129, .12);--ready-border: rgba(16, 185, 129, .3);--ready-text: #34d399;--keep-bg: rgba(245, 158, 11, .12);--keep-border: rgba(245, 158, 11, .3);--keep-text: #fbbf24;--sold-bg: rgba(239, 68, 68, .12);--sold-border: rgba(239, 68, 68, .3);--sold-text: #f87171;--shadow: 0 8px 32px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .4);--radius: 16px;--radius-lg: 24px;--radius-pill: 999px;--mesh-1: rgba(236, 72, 153, .08);--mesh-2: rgba(168, 85, 247, .06);--glow-color: rgba(236, 72, 153, .15);--glow-color-strong: rgba(236, 72, 153, .3)}[data-theme=matcha]{--bg-primary: #141e14;--bg-secondary: #1c2e1c;--bg-card: rgba(200, 220, 180, .06);--bg-card-hover: rgba(200, 220, 180, .1);--bg-glass: rgba(200, 220, 180, .07);--bg-input: rgba(200, 220, 180, .06);--text-primary: #e8ece0;--text-secondary: #a0b085;--text-muted: #6a7a55;--border: rgba(200, 220, 180, .1);--border-hover: rgba(200, 220, 180, .2);--pink: #8fbc5b;--pink-light: #a3d06e;--purple: #6b9e3d;--gradient: linear-gradient(135deg, #8fbc5b, #d4c5a0);--gradient-subtle: linear-gradient(135deg, rgba(143, 188, 91, .15), rgba(212, 197, 160, .15));--mesh-1: rgba(143, 188, 91, .08);--mesh-2: rgba(212, 197, 160, .06);--glow-color: rgba(143, 188, 91, .15);--glow-color-strong: rgba(143, 188, 91, .3)}[data-theme=gold-black]{--bg-primary: #0a0a0a;--bg-secondary: #141410;--bg-card: rgba(212, 168, 83, .05);--bg-card-hover: rgba(212, 168, 83, .09);--bg-glass: rgba(212, 168, 83, .06);--bg-input: rgba(212, 168, 83, .05);--text-primary: #f5f0e0;--text-secondary: #c0a86a;--text-muted: #7a6a3f;--border: rgba(212, 168, 83, .12);--border-hover: rgba(212, 168, 83, .25);--pink: #d4a853;--pink-light: #e0be6e;--purple: #a88735;--gradient: linear-gradient(135deg, #d4a853, #f0d48a);--gradient-subtle: linear-gradient(135deg, rgba(212, 168, 83, .15), rgba(240, 212, 138, .1));--mesh-1: rgba(212, 168, 83, .07);--mesh-2: rgba(240, 212, 138, .04);--glow-color: rgba(212, 168, 83, .15);--glow-color-strong: rgba(212, 168, 83, .3)}[data-theme=ocean-blue]{--bg-primary: #0a1628;--bg-secondary: #101e35;--bg-card: rgba(59, 130, 246, .06);--bg-card-hover: rgba(59, 130, 246, .1);--bg-glass: rgba(59, 130, 246, .07);--bg-input: rgba(59, 130, 246, .05);--text-primary: #e0eaf5;--text-secondary: #7da5d0;--text-muted: #4a6e95;--border: rgba(59, 130, 246, .1);--border-hover: rgba(59, 130, 246, .2);--pink: #3b82f6;--pink-light: #60a5fa;--purple: #06b6d4;--gradient: linear-gradient(135deg, #3b82f6, #06b6d4);--gradient-subtle: linear-gradient(135deg, rgba(59, 130, 246, .15), rgba(6, 182, 212, .15));--mesh-1: rgba(59, 130, 246, .08);--mesh-2: rgba(6, 182, 212, .06);--glow-color: rgba(59, 130, 246, .15);--glow-color-strong: rgba(59, 130, 246, .3)}[data-theme=rose-gold]{--bg-primary: #1a1418;--bg-secondary: #241c22;--bg-card: rgba(229, 165, 165, .06);--bg-card-hover: rgba(229, 165, 165, .1);--bg-glass: rgba(229, 165, 165, .07);--bg-input: rgba(229, 165, 165, .05);--text-primary: #f5e8e8;--text-secondary: #c09a9a;--text-muted: #7a5555;--border: rgba(229, 165, 165, .1);--border-hover: rgba(229, 165, 165, .2);--pink: #e5a5a5;--pink-light: #f0bfbf;--purple: #c78080;--gradient: linear-gradient(135deg, #e5a5a5, #d4a070);--gradient-subtle: linear-gradient(135deg, rgba(229, 165, 165, .15), rgba(212, 160, 112, .15));--mesh-1: rgba(229, 165, 165, .08);--mesh-2: rgba(212, 160, 112, .06);--glow-color: rgba(229, 165, 165, .15);--glow-color-strong: rgba(229, 165, 165, .3)}[data-theme=putih-merah]{--bg-primary: #faf5f5;--bg-secondary: #f5eaea;--bg-card: rgba(220, 38, 38, .06);--bg-card-hover: rgba(220, 38, 38, .1);--bg-glass: rgba(220, 38, 38, .05);--bg-input: rgba(220, 38, 38, .04);--text-primary: #1a0505;--text-secondary: #6b2020;--text-muted: #a05050;--border: rgba(220, 38, 38, .12);--border-hover: rgba(220, 38, 38, .25);--pink: #dc2626;--pink-light: #ef4444;--purple: #b91c1c;--gradient: linear-gradient(135deg, #dc2626, #f43f5e);--gradient-subtle: linear-gradient(135deg, rgba(220, 38, 38, .12), rgba(244, 63, 94, .12));--ready-bg: rgba(16, 185, 129, .1);--ready-border: rgba(16, 185, 129, .25);--ready-text: #059669;--keep-bg: rgba(245, 158, 11, .1);--keep-border: rgba(245, 158, 11, .25);--keep-text: #d97706;--sold-bg: rgba(239, 68, 68, .1);--sold-border: rgba(239, 68, 68, .25);--sold-text: #dc2626;--shadow: 0 8px 32px rgba(220, 38, 38, .08);--shadow-lg: 0 16px 48px rgba(220, 38, 38, .12);--mesh-1: rgba(220, 38, 38, .05);--mesh-2: rgba(244, 63, 94, .04);--glow-color: rgba(220, 38, 38, .1);--glow-color-strong: rgba(220, 38, 38, .2)}[data-theme=biru-putih]{--bg-primary: #f0f5ff;--bg-secondary: #e0eaff;--bg-card: rgba(37, 99, 235, .06);--bg-card-hover: rgba(37, 99, 235, .1);--bg-glass: rgba(37, 99, 235, .05);--bg-input: rgba(37, 99, 235, .04);--text-primary: #0a1930;--text-secondary: #1e3a6e;--text-muted: #5577aa;--border: rgba(37, 99, 235, .12);--border-hover: rgba(37, 99, 235, .25);--pink: #2563eb;--pink-light: #3b82f6;--purple: #1d4ed8;--gradient: linear-gradient(135deg, #2563eb, #3b82f6);--gradient-subtle: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(59, 130, 246, .12));--ready-bg: rgba(16, 185, 129, .1);--ready-border: rgba(16, 185, 129, .25);--ready-text: #059669;--keep-bg: rgba(245, 158, 11, .1);--keep-border: rgba(245, 158, 11, .25);--keep-text: #d97706;--sold-bg: rgba(239, 68, 68, .1);--sold-border: rgba(239, 68, 68, .25);--sold-text: #dc2626;--shadow: 0 8px 32px rgba(37, 99, 235, .08);--shadow-lg: 0 16px 48px rgba(37, 99, 235, .12);--mesh-1: rgba(37, 99, 235, .05);--mesh-2: rgba(59, 130, 246, .04);--glow-color: rgba(37, 99, 235, .1);--glow-color-strong: rgba(37, 99, 235, .2)}[data-theme=kuning-biru]{--bg-primary: #0c1a2e;--bg-secondary: #112240;--bg-card: rgba(234, 179, 8, .06);--bg-card-hover: rgba(234, 179, 8, .1);--bg-glass: rgba(234, 179, 8, .05);--bg-input: rgba(234, 179, 8, .04);--text-primary: #f5f0d5;--text-secondary: #c9b55a;--text-muted: #7a6e3a;--border: rgba(234, 179, 8, .12);--border-hover: rgba(234, 179, 8, .25);--pink: #eab308;--pink-light: #facc15;--purple: #2563eb;--gradient: linear-gradient(135deg, #eab308, #2563eb);--gradient-subtle: linear-gradient(135deg, rgba(234, 179, 8, .15), rgba(37, 99, 235, .15));--ready-bg: rgba(16, 185, 129, .12);--ready-border: rgba(16, 185, 129, .3);--ready-text: #34d399;--keep-bg: rgba(245, 158, 11, .12);--keep-border: rgba(245, 158, 11, .3);--keep-text: #fbbf24;--sold-bg: rgba(239, 68, 68, .12);--sold-border: rgba(239, 68, 68, .3);--sold-text: #f87171;--shadow: 0 8px 32px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .4);--mesh-1: rgba(234, 179, 8, .06);--mesh-2: rgba(37, 99, 235, .05);--glow-color: rgba(234, 179, 8, .15);--glow-color-strong: rgba(234, 179, 8, .3)}[data-theme=gold-hitam]{--bg-primary: #050505;--bg-secondary: #0f0f0f;--bg-card: rgba(212, 175, 55, .07);--bg-card-hover: rgba(212, 175, 55, .12);--bg-glass: rgba(212, 175, 55, .06);--bg-input: rgba(212, 175, 55, .04);--text-primary: #f5e6b8;--text-secondary: #c9a84c;--text-muted: #7a6525;--border: rgba(212, 175, 55, .12);--border-hover: rgba(212, 175, 55, .25);--pink: #d4af37;--pink-light: #f0d060;--purple: #b8941e;--gradient: linear-gradient(135deg, #d4af37, #f0d060);--gradient-subtle: linear-gradient(135deg, rgba(212, 175, 55, .15), rgba(240, 208, 96, .15));--ready-bg: rgba(16, 185, 129, .12);--ready-border: rgba(16, 185, 129, .3);--ready-text: #34d399;--keep-bg: rgba(245, 158, 11, .12);--keep-border: rgba(245, 158, 11, .3);--keep-text: #fbbf24;--sold-bg: rgba(239, 68, 68, .12);--sold-border: rgba(239, 68, 68, .3);--sold-text: #f87171;--shadow: 0 8px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--mesh-1: rgba(212, 175, 55, .06);--mesh-2: rgba(184, 148, 30, .04);--glow-color: rgba(212, 175, 55, .15);--glow-color-strong: rgba(212, 175, 55, .3)}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 20%,var(--mesh-1),transparent),radial-gradient(ellipse 60% 40% at 80% 80%,var(--mesh-2),transparent);pointer-events:none;z-index:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--text-primary);background:var(--bg-primary);min-height:100vh;line-height:1.5}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(236,72,153,.08),transparent),radial-gradient(ellipse 60% 40% at 80% 80%,rgba(168,85,247,.06),transparent);pointer-events:none;z-index:0}#root{position:relative;z-index:1}.container{max-width:1100px;margin:0 auto;padding:0 16px}.topbar{padding:28px 0 20px;border-bottom:1px solid var(--border)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar h1{font-size:clamp(28px,5vw,42px);font-weight:900;letter-spacing:-.03em;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.topbar .subtitle{color:var(--text-secondary);font-weight:600;font-size:14px;margin-top:4px}.topbar-nav{display:flex;gap:10px;align-items:center}.topbar-nav a,.topbar-nav button{padding:10px 18px;border-radius:var(--radius-pill);font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:all .2s ease}.nav-link{color:var(--text-secondary);background:var(--bg-glass);border:1px solid var(--border)}.nav-link:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-card-hover)}.nav-btn-primary{color:#fff;background:var(--gradient);border:none}.nav-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.glass-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:all .3s ease}.glass-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.search-section{margin-top:24px;animation:fadeInUp .5s ease}.search-input{width:100%;padding:16px 20px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:16px;font-family:inherit;outline:none;transition:all .3s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ec489926}.tabs{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.tab-btn{padding:10px 20px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-weight:800;font-size:13px;cursor:pointer;letter-spacing:.5px;transition:all .25s ease;font-family:inherit}.tab-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.tab-btn.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:0 4px 16px #ec48994d}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;margin-top:24px}@media(max-width:420px){.product-grid{grid-template-columns:1fr}}.product-card{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .35s ease;animation:fadeInUp .5s ease both}.product-card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.product-card:nth-child(1){animation-delay:0s}.product-card:nth-child(2){animation-delay:.08s}.product-card:nth-child(3){animation-delay:.16s}.product-card:nth-child(4){animation-delay:.24s}.product-card:nth-child(5){animation-delay:.32s}.product-card:nth-child(6){animation-delay:.4s}.card-media{position:relative;height:300px;background:var(--bg-secondary);overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.product-card:hover .card-media img{transform:scale(1.03)}.card-media .no-img{width:100%;height:100%;display:grid;place-items:center;color:var(--text-muted);font-weight:800;font-size:14px}.badge{position:absolute;right:12px;top:12px;padding:6px 14px;border-radius:var(--radius-pill);font-weight:800;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.badge-ready{background:var(--ready-bg);color:var(--ready-text);border:1px solid var(--ready-border)}.badge-keep{background:var(--keep-bg);color:var(--keep-text);border:1px solid var(--keep-border)}.badge-sold{background:var(--sold-bg);color:var(--sold-text);border:1px solid var(--sold-border)}.badge-limited{position:absolute;left:12px;top:12px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--gradient);color:#fff;font-weight:800;font-size:12px;letter-spacing:.5px}.watermark{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:var(--radius-pill);background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffc;font-weight:700;font-size:12px}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:var(--radius-pill);border:none;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;transition:all .2s ease;z-index:2}.carousel-btn:hover{background:#000000b3;transform:translateY(-50%) scale(1.1)}.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}.thumb-row{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;border-top:1px solid var(--border);background:#00000026}.thumb-btn{flex:0 0 auto;width:56px;height:56px;border-radius:12px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:transparent;transition:all .2s ease}.thumb-btn.active{border-color:var(--pink);box-shadow:0 0 12px #ec48994d}.thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}.card-body{padding:18px}.card-title{font-size:22px;font-weight:900;line-height:1.2;letter-spacing:-.02em}.card-price{font-size:20px;font-weight:800;margin-top:6px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-meta{margin-top:10px;display:flex;gap:12px;flex-wrap:wrap;color:var(--text-secondary);font-weight:600;font-size:13px}.card-location{margin-top:6px;color:var(--text-secondary);font-weight:600;font-size:13px}.card-notes{margin-top:12px;padding:14px;border-radius:var(--radius);border:1px dashed var(--border);background:#ffffff08}.card-notes .notes-label{font-weight:800;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.card-notes .notes-text{white-space:pre-wrap;color:var(--text-secondary);font-weight:500;font-size:14px;line-height:1.5}.btn-cta{margin-top:16px;width:100%;border:none;border-radius:var(--radius);padding:16px;font-size:17px;font-weight:800;font-family:inherit;background:var(--gradient);color:#fff;cursor:pointer;transition:all .3s ease;animation:pulse-glow 3s ease-in-out infinite}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ec489966}.btn-cta:active{transform:translateY(0)}.empty-state{text-align:center;padding:60px 20px;animation:fadeInUp .5s ease}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state .empty-title{font-size:20px;font-weight:800;color:var(--text-primary);margin-bottom:8px}.empty-state .empty-desc{color:var(--text-secondary);font-weight:500;font-size:15px}.error-state{text-align:center;padding:48px 20px;animation:fadeInUp .5s ease}.error-state .error-icon{font-size:48px;margin-bottom:16px}.error-state .error-title{font-size:18px;font-weight:800;color:var(--sold-text);margin-bottom:8px}.error-state .error-desc{color:var(--text-secondary);font-weight:500;font-size:14px;max-width:400px;margin:0 auto}.loading-state{text-align:center;padding:60px 20px;animation:fadeInUp .3s ease}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--pink);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.loading-state .loading-text{color:var(--text-secondary);font-weight:600}.footer{text-align:center;padding:32px 0 24px;color:var(--text-muted);font-weight:600;font-size:13px;border-top:1px solid var(--border);margin-top:40px}.footer a{color:var(--pink-light);text-decoration:none;font-weight:700;transition:color .2s}.footer a:hover{color:var(--pink)}.login-wrapper{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);background:var(--bg-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;animation:fadeInUp .5s ease}.login-card h2{font-size:28px;font-weight:900;letter-spacing:-.02em;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:24px}.login-card .login-subtitle{color:var(--text-secondary);font-size:14px;margin-top:-18px;margin-bottom:24px}.form-group{margin-bottom:14px}.form-input{width:100%;padding:14px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:15px;font-family:inherit;outline:none;transition:all .3s ease}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ec48991f}.form-error{color:var(--sold-text);font-size:13px;font-weight:600;margin-top:8px}.btn-login{width:100%;margin-top:8px;padding:16px;border:none;border-radius:var(--radius);background:var(--gradient);color:#fff;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer;transition:all .3s ease}.btn-login:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ec489959}.login-back{display:block;text-align:center;margin-top:20px;color:var(--text-secondary);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.login-back:hover{color:var(--pink-light)}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid var(--border)}.admin-header .admin-title{font-size:28px;font-weight:900;letter-spacing:-.02em}.admin-header .admin-info{color:var(--text-secondary);font-weight:600;font-size:14px;margin-top:4px}.btn-outline{padding:10px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;transition:all .2s ease}.btn-outline:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-card-hover)}.admin-section{margin-top:24px}.admin-section .section-title{font-size:22px;font-weight:800;margin-bottom:16px}.form-grid{display:grid;gap:12px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:480px){.form-grid-3{grid-template-columns:1fr}}.form-textarea{width:100%;padding:14px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:15px;font-family:inherit;outline:none;resize:vertical;min-height:100px;transition:all .3s ease}.form-textarea::placeholder{color:var(--text-muted)}.form-textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ec48991f}.form-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.form-checkbox{display:flex;gap:8px;align-items:center;font-weight:800;font-size:14px;color:var(--text-primary);cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--pink);cursor:pointer}.form-select{padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-weight:800;font-family:inherit;outline:none;cursor:pointer}.form-select:focus{border-color:var(--pink)}.form-file{padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-family:inherit}.btn-upload{width:100%;margin-top:8px;padding:16px;border:none;border-radius:var(--radius);background:var(--gradient);color:#fff;font-size:17px;font-weight:800;font-family:inherit;cursor:pointer;transition:all .3s ease}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ec489959}.btn-upload:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.admin-product-row{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-glass);transition:all .2s ease}.admin-product-row:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.admin-thumb{width:64px;height:64px;border-radius:14px;overflow:hidden;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:800}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-product-info .product-name{font-weight:800;font-size:15px}.admin-product-info .product-detail{color:var(--text-secondary);font-weight:600;font-size:13px;margin-top:2px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status-btn{padding:8px 14px;border-radius:12px;border:none;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;transition:all .2s ease}.status-btn:hover{transform:translateY(-1px)}.status-btn.ready{background:var(--ready-bg);color:var(--ready-text);border:1px solid var(--ready-border)}.status-btn.keep{background:var(--keep-bg);color:var(--keep-text);border:1px solid var(--keep-border)}.status-btn.sold{background:var(--sold-bg);color:var(--sold-text);border:1px solid var(--sold-border)}.btn-delete{padding:8px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;transition:all .2s ease}.btn-delete:hover{border-color:var(--sold-text);color:var(--sold-text);background:var(--sold-bg)}.btn-edit{padding:8px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;transition:all .2s ease}.btn-edit:hover{border-color:#60a5fa;color:#60a5fa;background:#60a5fa1a}.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:12px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:var(--radius);border:2px solid var(--border);background:var(--bg-card);cursor:pointer;font-family:inherit;transition:all .25s ease;color:var(--text-secondary)}.theme-option:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-2px)}.theme-option.active{border-color:var(--pink);background:var(--bg-card-hover);box-shadow:0 0 20px var(--glow-color)}.theme-option.active .theme-name{color:var(--text-primary);font-weight:700}.theme-swatches{display:flex;gap:6px}.theme-swatch{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.15);transition:transform .2s ease}.theme-option:hover .theme-swatch{transform:scale(1.1)}.theme-name{font-size:12px;font-weight:600;white-space:nowrap}.not-allowed{padding:40px 20px;text-align:center}.not-allowed .not-allowed-title{font-size:20px;font-weight:800;color:var(--sold-text);margin-bottom:16px}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000000eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;flex-direction:column;animation:lightbox-fade-in .25s ease;touch-action:none}.lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:20px;cursor:pointer;display:grid;place-items:center;transition:all .2s ease;z-index:10}.lightbox-close:hover{background:#ffffff40;transform:scale(1.1)}.lightbox-counter{position:absolute;top:20px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:var(--radius-pill);background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;font-weight:700;font-size:14px;z-index:10}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:28px;cursor:pointer;display:grid;place-items:center;transition:all .2s ease;z-index:10}.lightbox-nav:hover{background:#ffffff38;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-image-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:calc(100vh - 120px);overflow:hidden;padding:16px}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;transition:transform .3s ease;user-select:none;-webkit-user-select:none}.lightbox-thumbs{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;border-radius:var(--radius);background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:90vw;overflow-x:auto;z-index:10}.lightbox-thumb{flex:0 0 auto;width:52px;height:52px;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:transparent;transition:all .2s ease;opacity:.5}.lightbox-thumb.active{border-color:var(--pink);box-shadow:0 0 16px #ec489966;opacity:1}.lightbox-thumb:hover{opacity:.85}.lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:640px){.lightbox-nav{width:40px;height:40px;font-size:22px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-thumb{width:42px;height:42px}.lightbox-image-wrap{padding:8px}}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;border-radius:4px 0 0 4px}.stat-total:before{background:var(--gradient)}.stat-ready:before{background:var(--ready-text, #34d399)}.stat-keep:before{background:var(--keep-text, #fbbf24)}.stat-sold:before{background:var(--sold-text, #f87171)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.stat-icon{font-size:24px;margin-bottom:4px}.stat-value{font-size:32px;font-weight:900;letter-spacing:-.02em;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-ready .stat-value{background:none;-webkit-text-fill-color:var(--ready-text, #34d399);color:var(--ready-text, #34d399)}.stat-keep .stat-value{background:none;-webkit-text-fill-color:var(--keep-text, #fbbf24);color:var(--keep-text, #fbbf24)}.stat-sold .stat-value{background:none;-webkit-text-fill-color:var(--sold-text, #f87171);color:var(--sold-text, #f87171)}.stat-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.stats-value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}@media(max-width:640px){.stats-value-grid{grid-template-columns:1fr}}.value-card{padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card)}.value-label{font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:4px}.value-amount{font-size:20px;font-weight:900;color:var(--text-primary);letter-spacing:-.01em}.stats-extra{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card)}.extra-item{display:flex;align-items:center;gap:6px}.extra-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.extra-value{font-size:14px;font-weight:800;color:var(--text-primary)}.extra-highlight{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.extra-warning .extra-value{color:var(--keep-text, #fbbf24)}.low-stock-section{margin-top:16px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--keep-border, rgba(245, 158, 11, .3));background:var(--keep-bg, rgba(245, 158, 11, .12))}.low-stock-title{font-size:13px;font-weight:800;color:var(--keep-text, #fbbf24);margin-bottom:10px}.low-stock-list{display:flex;flex-direction:column;gap:6px}.low-stock-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#00000026;font-size:13px}.low-stock-name{font-weight:700;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.low-stock-sku{color:var(--text-muted);font-weight:600;font-size:12px}.low-stock-count{font-weight:800;color:var(--keep-text, #fbbf24);font-size:12px;white-space:nowrap}.low-stock-more{font-size:12px;color:var(--text-muted);font-weight:600;text-align:center;padding-top:4px}.keep-list-section{margin-top:16px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--keep-border, rgba(245, 158, 11, .3));background:var(--keep-bg, rgba(245, 158, 11, .08))}.keep-list-title{font-size:14px;font-weight:800;color:var(--keep-text, #fbbf24);margin-bottom:10px}.keep-list{display:flex;flex-direction:column;gap:8px}.keep-list-item{padding:10px 14px;border-radius:10px;background:#00000026;border:1px solid rgba(255,255,255,.05)}.keep-item-main{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.keep-item-name{font-weight:700;font-size:14px;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keep-item-price{font-weight:800;font-size:13px;color:var(--keep-text, #fbbf24);white-space:nowrap}.keep-item-detail{display:flex;justify-content:space-between;align-items:center;gap:8px}.keep-item-customer{font-size:13px;font-weight:600;color:var(--text-secondary)}.keep-item-sku{font-size:12px;font-weight:600;color:var(--text-muted)}.admin-tabs{display:flex;gap:4px;padding:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;position:sticky;top:0;z-index:100;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:none;border-radius:12px;background:transparent;color:var(--text-muted);font-weight:700;font-size:11px;cursor:pointer;transition:all .25s ease;white-space:nowrap;min-width:64px;position:relative}.admin-tab:hover{color:var(--text-secondary);background:#ffffff0d}.admin-tab.active{background:var(--gradient);color:#fff;box-shadow:0 4px 12px #0003;transform:scale(1.02)}.admin-tab-icon{font-size:20px;line-height:1}.admin-tab-label{font-size:11px;font-weight:800;letter-spacing:.3px}@media(max-width:640px){.admin-tabs{gap:2px;padding:4px;border-radius:12px}.admin-tab{padding:8px 6px;min-width:56px}.admin-tab-icon{font-size:18px}.admin-tab-label{font-size:10px}}.invoice-type-toggle{display:flex;gap:4px;background:#0003;border-radius:10px;padding:3px}.toggle-btn{padding:6px 14px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:700;font-size:12px;cursor:pointer;transition:all .2s}.toggle-btn.active{background:var(--gradient);color:#fff}.inv-section-title{font-size:13px;font-weight:800;color:var(--text-secondary);margin:16px 0 8px;text-transform:uppercase;letter-spacing:.5px}.inv-product-picker{width:100%;margin-bottom:8px}.inv-items-table{margin-top:8px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inv-item-header{display:grid;grid-template-columns:2fr 1fr 60px 80px 1fr 36px;gap:8px;padding:10px 12px;background:#0003;font-size:11px;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.inv-item-row{display:grid;grid-template-columns:2fr 1fr 60px 80px 1fr 36px;gap:8px;padding:10px 12px;align-items:center;border-top:1px solid var(--border);font-size:13px;color:var(--text-primary)}.inv-item-name{font-weight:700;font-size:13px}.inv-item-sku{font-size:11px;color:var(--text-muted)}.inv-mini-input{width:100%;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:700;text-align:center}.inv-mini-input:focus{outline:none;border-color:var(--accent, #8b5cf6)}.inv-remove{width:28px;height:28px;border-radius:8px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:#f87171;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.inv-remove:hover{background:#ef44444d}.inv-totals-section{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inv-total-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}.inv-total-row:last-child{border-bottom:none}.inv-total-input-row{display:flex;align-items:center;gap:10px}.inv-total-input-row .inv-mini-input{width:120px}.inv-total-val{font-weight:800;color:var(--text-primary)}.inv-grand-total{background:#0003;font-size:16px;font-weight:900}.inv-grand-total .inv-total-val{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:18px}.inv-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.inv-history{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.inv-history-list{display:flex;flex-direction:column;gap:6px}.inv-history-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#0000001f;font-size:13px}.inv-history-type{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800;white-space:nowrap}.inv-history-type.invoice{background:#6366f133;color:#818cf8}.inv-history-type.penawaran{background:#f59e0b33;color:#fbbf24}.inv-history-number{font-weight:700;color:var(--text-primary)}.inv-history-cust{flex:1;color:var(--text-secondary);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-history-total{font-weight:800;color:var(--text-primary);white-space:nowrap}.inv-history-date{font-size:12px;color:var(--text-muted);white-space:nowrap}@media(max-width:640px){.inv-item-header,.inv-item-row{grid-template-columns:1fr;gap:4px}.inv-item-header{display:none}.inv-item-row{padding:12px}.inv-col-price,.inv-col-qty,.inv-col-disc,.inv-col-total{display:flex;justify-content:space-between;align-items:center}.inv-col-price:before{content:"Harga: ";font-size:11px;color:var(--text-muted)}.inv-col-qty:before{content:"Qty: ";font-size:11px;color:var(--text-muted)}.inv-col-disc:before{content:"Diskon: ";font-size:11px;color:var(--text-muted)}.inv-col-total:before{content:"Jumlah: ";font-size:11px;color:var(--text-muted)}.inv-mini-input{width:80px;text-align:right}.inv-history-item{flex-wrap:wrap;gap:6px}}.invoice-print-overlay{position:fixed;inset:0;z-index:9999;background:#f5f5f5;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:20px}.invoice-print-actions{display:flex;gap:10px;margin-bottom:20px}.invoice-paper{background:#fff;color:#111;width:100%;max-width:800px;padding:48px;border-radius:4px;box-shadow:0 2px 16px #0000001a;font-family:Inter,Segoe UI,sans-serif}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start}.invoice-brand{font-size:28px;font-weight:900;color:#1a1a2e;letter-spacing:-.02em}.invoice-brand-sub{font-size:13px;color:#666;margin-top:2px}.invoice-header-right{text-align:right}.invoice-doc-type{font-size:22px;font-weight:900;color:#6366f1;letter-spacing:2px}.invoice-doc-number{font-size:14px;font-weight:700;color:#333;margin-top:4px}.invoice-doc-date{font-size:13px;color:#666;margin-top:2px}.invoice-divider{height:3px;background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899);margin:20px 0;border-radius:2px}.invoice-customer{margin-bottom:24px}.invoice-cust-label{font-size:12px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:1px}.invoice-cust-name{font-size:18px;font-weight:800;color:#111;margin-top:4px}.invoice-cust-detail{font-size:14px;color:#555;margin-top:2px}.invoice-table{width:100%;border-collapse:collapse;margin-bottom:20px}.invoice-table thead th{padding:10px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#666;border-bottom:2px solid #e5e7eb;background:#fafafa}.invoice-table tbody td{padding:10px 12px;font-size:14px;border-bottom:1px solid #f0f0f0;color:#333}.text-right{text-align:right}.text-center{text-align:center}.invoice-totals{margin-left:auto;width:280px}.invoice-total-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:#333}.invoice-discount{color:#ef4444}.invoice-grand{border-top:2px solid #111;font-size:18px;font-weight:900;color:#111;padding:12px 0}.invoice-notes{margin-top:24px;padding:14px;background:#fafafa;border-radius:8px;font-size:13px;color:#555}.invoice-terms-list{padding-left:20px;margin:8px 0;list-style-type:upper-roman}.invoice-terms-list li{margin-bottom:4px;line-height:1.4}.invoice-notes-title{font-weight:700;color:#333;margin-bottom:4px}.invoice-footer-doc{margin-top:48px;display:flex;justify-content:flex-end}.invoice-sign{text-align:center;font-size:14px;color:#333}.invoice-sign-space{height:72px}.invoice-sign-name{font-weight:800;border-top:1px solid #333;padding-top:8px}@media print{body *{visibility:hidden!important}.invoice-print-overlay,.invoice-print-overlay *{visibility:visible!important}.invoice-print-overlay{position:absolute;inset:0;background:#fff;padding:0}.no-print{display:none!important}.invoice-paper{box-shadow:none;max-width:none;padding:24px;border-radius:0}.invoice-table thead th{background:#f5f5f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-divider{background:#6366f1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
