@import "https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap";:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#141414;--bg-elevated:#1a1a1a;--bg-input:#0a0a0a;--border-default:#262626;--border-subtle:#1e1e1e;--border-gold:#c5a0594d;--gold-primary:#c5a059;--gold-hover:#d9b46c;--gold-dim:#c5a0591a;--gold-glow:#c5a05926;--text-primary:#e8e8e8;--text-secondary:#888;--text-muted:#555;--text-placeholder:#333;--green:#22c55e;--green-dim:#22c55e1a;--red:#ef4444;--red-dim:#ef44441a;--blue:#3b82f6;--blue-dim:#3b82f61a;--font-sans:"Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Playfair Display", Georgia, serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-card:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-elevated:0 4px 16px #00000080;--shadow-gold:0 2px 12px #c5a0591a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow:hidden}::selection{background-color:var(--gold-primary);color:var(--bg-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.font-serif{font-family:var(--font-serif)}.text-gold{color:var(--gold-primary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-default);width:260px;min-width:260px;transition:transform var(--transition-base);flex-direction:column;display:flex}.sidebar-brand{border-bottom:1px solid var(--border-default);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.sidebar-brand-logo{font-family:var(--font-serif);color:var(--gold-primary);margin-bottom:2px;font-size:3.5rem;line-height:1}.sidebar-brand-name{color:var(--text-primary);letter-spacing:.15em;text-transform:lowercase;font-size:1.25rem;font-weight:500}.sidebar-brand-tagline{color:var(--text-secondary);letter-spacing:.25em;text-transform:uppercase;text-align:center;margin-top:.5rem;font-size:.55rem;font-weight:300}.sidebar-nav{flex:1;margin-top:.5rem;padding:1rem;overflow-y:auto}.sidebar-nav-item{border-radius:var(--radius-sm);cursor:pointer;width:100%;font-family:var(--font-sans);color:var(--text-secondary);transition:all var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:1rem;margin-bottom:.25rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:flex}.sidebar-nav-item:hover{background:var(--bg-elevated);color:var(--gold-primary)}.sidebar-nav-item.active{background:var(--gold-primary);color:var(--bg-primary);box-shadow:var(--shadow-gold);font-weight:700}.sidebar-footer{border-top:1px solid var(--border-default);padding:1rem}.sidebar-user{align-items:center;gap:.75rem;display:flex}.sidebar-avatar{border-radius:var(--radius-full);background:var(--gold-dim);width:40px;height:40px;color:var(--gold-primary);font-family:var(--font-serif);border:1px solid var(--border-gold);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.sidebar-user-name{color:var(--text-primary);font-size:.875rem;font-weight:700}.sidebar-user-status{color:var(--green);letter-spacing:.05em;font-size:.7rem;font-weight:500}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-scroll{flex:1;padding:2rem;overflow-y:auto}.mobile-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:1rem;display:none}.mobile-brand{align-items:baseline;gap:.5rem;display:flex}.mobile-brand-logo{font-family:var(--font-serif);color:var(--gold-primary);font-size:1.5rem;line-height:1}.mobile-brand-name{color:var(--text-primary);letter-spacing:.1em;text-transform:lowercase;font-size:1.1rem;font-weight:500}.mobile-select{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);cursor:pointer;outline:none;padding:.5rem .75rem}.mobile-select:focus{border-color:var(--gold-primary)}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:all var(--transition-base);padding:1.5rem}.card:hover{border-color:var(--border-gold)}.card-gold{border-color:var(--border-gold);background:linear-gradient(135deg, var(--bg-card) 0%, #c5a05908 100%)}.card-stat{align-items:center;gap:1rem;display:flex}.card-stat-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:.75rem;display:flex}.card-stat-icon.gold{background:var(--gold-dim);color:var(--gold-primary)}.card-stat-icon.green{background:var(--green-dim);color:var(--green)}.card-stat-label{color:var(--text-secondary);font-size:.875rem}.card-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background:var(--gold-primary);color:var(--bg-primary)}.btn-gold:hover:not(:disabled){background:var(--gold-hover);box-shadow:var(--shadow-gold)}.btn-outline{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--gold-primary);color:var(--gold-primary);background:var(--gold-dim)}.btn-outline-gold{border:1px solid var(--gold-primary);color:var(--gold-primary);background:0 0}.btn-outline-gold:hover:not(:disabled){background:var(--gold-dim)}.btn-danger{border:1px solid var(--border-default);color:var(--red);background:0 0}.btn-danger:hover:not(:disabled){background:var(--red-dim);border-color:#ef44444d}.btn-ghost{color:var(--text-secondary);background:0 0;border:none;padding:.5rem}.btn-ghost:hover:not(:disabled){color:var(--gold-primary);background:var(--gold-dim)}.btn-icon{border-radius:var(--radius-sm);padding:.5rem}.btn-lg{border-radius:var(--radius-md);padding:1rem 2rem;font-size:1rem}.btn-full{width:100%}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;padding:.75rem 1rem;font-size:.9rem}.input::placeholder{color:var(--text-placeholder)}.input:focus{border-color:var(--gold-primary);box-shadow:0 0 0 2px var(--gold-dim)}.input:disabled{color:var(--text-secondary);cursor:not-allowed}.input-plate{letter-spacing:.15em;text-transform:uppercase;text-align:center;padding:1rem;font-size:1.5rem;font-weight:700}.input-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem;font-weight:500;display:block}.select{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;outline:none;padding:.5rem .75rem;font-size:.8rem;font-weight:600}.badge{border-radius:var(--radius-full);align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-gold{background:var(--gold-dim);color:var(--gold-primary);border:1px solid var(--border-gold)}.badge-green{background:var(--green-dim);color:var(--green);border:1px solid #22c55e33}.badge-red{background:var(--red-dim);color:var(--red);border:1px solid #ef444433}.badge-blue{background:var(--blue-dim);color:var(--blue);border:1px solid #3b82f633}.tag{background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.15rem .5rem;font-size:.7rem;display:inline-block}.table-container{overflow-x:auto}.table{text-align:left;border-collapse:collapse;width:100%}.table thead tr{background:var(--bg-input);border-bottom:1px solid var(--border-default)}.table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:1rem;font-size:.8rem;font-weight:500}.table td{padding:1rem}.table tbody tr{border-bottom:1px solid var(--border-default);transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--bg-elevated)}.grid-3{grid-template-columns:repeat(1,1fr);gap:1.5rem;display:grid}.grid-2{grid-template-columns:repeat(1,1fr);gap:1rem;display:grid}.flex-row{flex-direction:row;display:flex}.flex-col{flex-direction:column;display:flex}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.gap-xl{gap:2rem}.space-y>*+*{margin-top:1.5rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.text-center{text-align:center}.w-full{width:100%}.flex-1{flex:1}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-title{font-family:var(--font-serif);color:var(--gold-primary);letter-spacing:.02em;font-size:1.5rem}.pos-layout{flex-direction:column;gap:1.5rem;height:100%;display:flex}.pos-products{flex:1}.pos-cart{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;width:100%;padding:1.5rem;display:flex}.bottom-panel{flex-direction:column;gap:1.5rem;display:flex}.bottom-col{flex-direction:column;flex:1;display:flex}.product-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.product-card{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-input);cursor:pointer;transition:all var(--transition-fast);text-align:left;padding:1rem}.product-card:hover{border-color:#c5a05980}.product-card.selected{border-color:var(--gold-primary);background:var(--gold-dim);box-shadow:0 0 0 1px var(--gold-primary)}.product-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.product-price{color:var(--gold-primary);margin-top:.5rem;font-size:.95rem;font-weight:700}.cart-item{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:.75rem;display:flex}.cart-empty{color:var(--text-muted);text-align:center;padding:2.5rem 0;font-weight:300}.cart-total{border-top:1px solid var(--border-default);margin-top:auto;padding-top:1rem}.cart-total-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.cart-total-label{color:var(--text-secondary);font-size:1rem;font-weight:500}.cart-total-value{color:var(--gold-primary);font-size:1.5rem;font-weight:700}.qris-area{text-align:center}.qris-box{background:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border-default);box-shadow:var(--shadow-card);padding:1rem;display:inline-block}.qris-waiting{color:var(--gold-primary);margin-top:1rem;font-size:.875rem;font-weight:600}.pickup-card{border:1px solid var(--border-default);background:var(--bg-input);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);flex-direction:column;gap:1rem;padding:1rem;display:flex}.pickup-card:hover{border-color:var(--border-gold)}.pickup-info{align-items:flex-start;gap:1rem;display:flex}.pickup-icon{background:var(--gold-dim);color:var(--gold-primary);border-radius:var(--radius-full);border:1px solid var(--border-gold);flex-shrink:0;padding:.75rem}.pickup-actions{align-items:center;gap:.75rem;width:100%;display:flex}.status-pending{background:var(--red-dim);color:var(--red);border-color:#ef444433}.status-dijemput{background:var(--blue-dim);color:var(--blue);border-color:#3b82f633}.status-proses{background:var(--gold-dim);color:var(--gold-primary);border-color:var(--border-gold)}.status-selesai{background:var(--green-dim);color:var(--green);border-color:#22c55e33}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle at 30% 40%,#c5a0590a 0%,#0000 50%),radial-gradient(circle at 70% 60%,#c5a05908 0%,#0000 50%);width:200%;height:200%;animation:15s ease-in-out infinite alternate loginGlow;position:absolute;top:-50%;left:-50%}@keyframes loginGlow{0%{transform:translate(0)}to{transform:translate(-3%,-3%)}}.login-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;padding:3rem 2.5rem;position:relative}.login-brand{text-align:center;margin-bottom:2.5rem}.login-logo{font-family:var(--font-serif);color:var(--gold-primary);text-shadow:0 0 40px #c5a05933;margin-bottom:4px;font-size:4rem;line-height:1}.login-title{color:var(--text-primary);letter-spacing:.2em;text-transform:lowercase;font-size:1.5rem;font-weight:500}.login-tagline{color:var(--text-secondary);letter-spacing:.3em;text-transform:uppercase;margin-top:.75rem;font-size:.6rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-error{background:var(--red-dim);color:var(--red);border-radius:var(--radius-sm);text-align:center;border:1px solid #ef444433;padding:.75rem 1rem;font-size:.85rem;animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-footer{text-align:center;color:var(--text-muted);letter-spacing:.1em;margin-top:2rem;font-size:.7rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeInUp .4s var(--transition-base) both}.animate-pulse{animation:2s ease-in-out infinite pulse}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.logout-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem .75rem;font-size:.8rem;display:flex}.logout-btn:hover{color:var(--red);background:var(--red-dim);border-color:#ef44444d}.member-panel{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.member-panel-label{color:var(--text-secondary);margin-bottom:.15rem;font-size:.75rem;display:block}.member-panel-name{color:var(--text-primary);font-weight:700}.member-panel-remove{color:var(--red);cursor:pointer;font-size:.7rem;font-family:var(--font-sans);transition:color var(--transition-fast);background:0 0;border:none;margin-left:.5rem}.member-panel-remove:hover{color:#ff6b6b}.package-info-box{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:1rem}.package-info-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.package-info-row{color:var(--text-primary);justify-content:space-between;align-items:center;display:flex}.package-info-name{font-weight:500}.package-info-remaining{color:var(--gold-primary);font-weight:700}.stamp-badge{background:var(--gold-dim);color:var(--gold-primary);border-radius:var(--radius-sm);border:1px solid var(--border-gold);padding:.25rem .75rem;font-size:.8rem;font-weight:600}@media (width>=768px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.pos-layout{flex-direction:column}.pos-cart{width:100%;min-width:unset}.bottom-panel{flex-direction:row;align-items:stretch}.bottom-col{border-right:1px solid var(--border-default);padding-right:1.5rem}.bottom-col:last-child{border-right:none;padding-left:.5rem;padding-right:0}.pickup-card{flex-direction:row;justify-content:space-between;align-items:center}.pickup-actions{width:auto}}@media (width<=767px){.sidebar{display:none}.mobile-header{display:flex}.main-scroll{padding:1rem}.product-grid{grid-template-columns:1fr}.login-card{margin:1rem;padding:2rem 1.5rem}}
