*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:#f4f7f6;color:#333;min-height:100vh}button{padding:10px 15px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s ease}button:hover{background-color:#2563eb}input,select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background-color:#fff;outline:0;transition:border-color .2s}input:focus,select:focus{border-color:#3b82f6}.form-barang-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.form-barang-header{margin-bottom:18px}.form-barang-header h2{font-size:17px;color:#1e293b;margin:0 0 4px}.form-barang-subtitle{font-size:13px;color:#64748b;margin:0}.form-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.form-row:last-of-type{margin-bottom:0}.form-group{flex:1 1 200px;min-width:160px}.form-group-grow{flex:2 1 280px}.form-group label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.form-hint{display:block;font-size:12px;color:#94a3b8;margin-top:5px}.input-rupiah{display:flex;align-items:stretch;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;background:#fff;transition:border-color .2s}.input-rupiah:focus-within{border-color:#3b82f6}.input-rupiah-prefix{display:flex;align-items:center;padding:0 10px;background:#f1f5f9;color:#64748b;font-size:13px;font-weight:600;border-right:1px solid #cbd5e1}.input-rupiah input{border:none!important;border-radius:0!important;text-align:right}.input-rupiah input:focus{border:none!important}.btn-input{margin-top:4px;width:100%;padding:11px 15px;font-size:14px}.form-grid{display:flex;flex-direction:column;gap:14px}.filter-container{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.filter-container label{font-size:13px;font-weight:600;color:#475569;white-space:nowrap}.filter-container select{flex:1 1 200px;min-width:160px}.dashboard-body{display:flex;flex-direction:column}.mobile-header{display:flex;align-items:center;justify-content:space-between;background-color:#1e293b;color:#fff;padding:15px 20px;padding-top:max(15px,env(safe-area-inset-top));position:sticky;top:0;z-index:999;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-header span{font-weight:700;font-size:18px}.brand-logo-header{height:22px;width:auto;display:block}.brand-logo-sidebar{height:28px;width:auto;display:block}.sidebar{position:fixed;top:0;left:-260px;width:260px;height:100vh;height:100dvh;background-color:#0f172a;color:#fff;padding:20px 20px 16px;padding-top:max(20px,env(safe-area-inset-top));z-index:10000;display:flex;flex-direction:column;gap:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:left .3s ease}.sidebar.active{left:0}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:15px;border-bottom:1px solid #334155}.sidebar-brand h2{font-size:20px;color:#3b82f6}.btn-close-sidebar{background:#334155;padding:5px 10px;font-size:12px}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1}.sidebar-menu li.sidebar-menu-logout{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}[data-role-restrict]{display:none}.trx-note-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.trx-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.trx-badge-tax{background:#eff6ff;color:#2563eb}.trx-badge-service{background:#f0fdf4;color:#16a34a}.trx-badge-none{background:#f1f5f9;color:#94a3b8}@media (max-width:767px){.trx-note-badges{justify-content:flex-start}}.trx-ringkasan-box{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:13px}.trx-ringkasan-row{display:flex;justify-content:space-between;padding:3px 0;color:#475569}.trx-ringkasan-row.grand{font-weight:800;font-size:15px;color:#059669;border-top:1px dashed #cbd5e1;margin-top:5px;padding-top:7px}.trx-item-actions{display:flex;gap:4px;justify-content:center}.trx-item-actions button{width:26px;height:26px;padding:0;font-size:13px;line-height:1;border-radius:5px;border:none;cursor:pointer;background:#f1f5f9;color:#334155}.trx-item-actions button:hover{background:#e2e8f0}.trx-item-actions .trx-item-hapus{background:#fee2e2;color:#dc2626}.trx-item-actions .trx-item-hapus:hover{background:#fecaca}.sidebar-menu li{position:relative}.sidebar-menu li a{display:flex;align-items:center;gap:12px;position:relative;color:#94a3b8;padding:12px 16px 12px 18px;text-decoration:none;border-radius:8px;font-size:14px;font-weight:600;overflow:hidden;transition:background-color .25s cubic-bezier(.4, 0, .2, 1),color .25s cubic-bezier(.4, 0, .2, 1),transform .2s cubic-bezier(.4, 0, .2, 1),box-shadow .25s ease}.sidebar-menu li a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;border-radius:0 4px 4px 0;background:#60a5fa;transition:height .25s cubic-bezier(.4, 0, .2, 1)}.sidebar-menu li a .menu-icon{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.4, 0, .2, 1)}.sidebar-menu li a .menu-icon svg{width:18px;height:18px;stroke:currentColor;fill:none}.sidebar-menu li a .menu-text{white-space:nowrap}.sidebar-menu li a:hover{background-color:rgba(59,130,246,.14);color:#e2e8f0;transform:translateX(4px)}.sidebar-menu li a:hover .menu-icon{transform:scale(1.15)}.sidebar-menu li a:active{transform:translateX(4px) scale(.97)}.sidebar-menu li a:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.sidebar-menu li a.active{background:linear-gradient(90deg,rgba(59,130,246,.28),rgba(59,130,246,.06));color:#fff;box-shadow:inset 0 0 0 1px rgba(96,165,250,.3)}.sidebar-menu li a.active::before{height:60%}.sidebar-menu li a.active .menu-icon{transform:scale(1.1)}.sidebar-menu li a.active:hover{transform:translateX(2px)}.header-title{font-size:20px;color:#1e293b;margin-bottom:15px;font-weight:700}.main-content{padding:20px;box-sizing:border-box;width:100%}.order-layout{display:flex;gap:20px;align-items:flex-start;width:100%;box-sizing:border-box}.menu-section{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;width:100%;box-sizing:border-box}.tab-btn{padding:10px 20px;font-size:14px;font-weight:700;border:none;border-radius:8px;background-color:#e2e8f0;color:#4a5568;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-btn.active{background-color:#3b82f6;color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;width:100%;box-sizing:border-box}.menu-card{background:#fff;border-radius:12px;padding:15px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:10px;box-sizing:border-box}.menu-card-img-wrapper{width:100%;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center}.menu-card-img{width:100%;height:100%;object-fit:cover}.menu-card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;font-size:11px;font-weight:600;gap:4px;text-align:center;padding:10px}.menu-card-placeholder svg{width:32px;height:32px;stroke:#cbd5e1}.menu-title{font-weight:700;font-size:14px;color:#1e293b}.menu-price{color:#10b981;font-weight:700;font-size:13px}.order-options{margin-top:auto}.order-options label{font-size:11px;font-weight:600;color:#64748b;display:block;margin-bottom:3px}.order-options input{padding:6px 8px;font-size:13px;border:1px solid #cbd5e1;border-radius:4px}.btn-add-cart{background-color:#3b82f6;font-size:12px;padding:8px;width:100%;border-radius:6px}.transaction-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.02)}.transaction-table th{background-color:#f8fafc;color:#64748b;padding:12px;text-align:left;font-weight:700;border-bottom:2px solid #e2e8f0}.transaction-table td{padding:12px;border-bottom:1px solid #f1f5f9}@media (min-width:768px){.dashboard-body{flex-direction:row}.mobile-header{display:none}.sidebar{position:static;left:0;width:250px;min-width:250px;height:100vh;height:100dvh;box-shadow:none}.btn-close-sidebar{display:none}.main-content{padding:40px;height:100vh;overflow-y:auto}.order-layout{display:grid;grid-template-columns:1fr 350px;align-items:start}.dashboard-body.sidebar-closed .sidebar{width:0;min-width:0;padding:25px 0;overflow:hidden}}@media (max-width:767px){.main-content{padding:15px}.order-layout{flex-direction:column;gap:0;padding-bottom:100px}.category-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch}.tab-btn{padding:8px 16px;font-size:13px}.menu-grid{grid-template-columns:repeat(2,1fr);gap:12px}.menu-card{padding:10px;gap:6px}.form-row{display:flex;flex-direction:column;gap:10px}.form-group,.form-group-grow{flex:initial;min-width:0}.transaction-table thead{display:none}.transaction-table,.transaction-table tbody,.transaction-table td,.transaction-table tr{display:block;width:100%}.transaction-table tr{margin-bottom:12px;border:1px solid #e2e8f0;border-radius:8px;padding:8px}.transaction-table td{text-align:right;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #f1f5f9}.transaction-table td:last-child{border-bottom:none}.transaction-table td::before{content:attr(data-label);font-weight:700;color:#94a3b8;float:left;font-size:13px}}.login-body{background-color:#f4f7f6!important;min-height:100vh}.login-wrapper{display:flex!important;justify-content:center!important;align-items:center!important;min-height:100vh!important;width:100%!important;padding:20px;box-sizing:border-box}.login-container{background:#fff!important;padding:30px!important;border-radius:12px!important;box-shadow:0 4px 15px rgba(0,0,0,.08)!important;width:100%!important;max-width:400px!important;text-align:center!important;box-sizing:border-box}.login-logo-container{margin-bottom:20px!important;display:flex!important;justify-content:center!important;width:100%!important}.login-logo{width:100%!important;max-width:180px!important;height:auto!important;object-fit:contain!important;display:block!important}.login-title{font-size:22px!important;font-weight:700!important;color:#1a202c!important;margin-bottom:20px!important}.login-container .form-group{margin-bottom:15px!important;text-align:left!important}.login-container label{display:block!important;font-size:13px!important;font-weight:600!important;margin-bottom:6px!important;color:#4a5568!important}.password-wrapper{position:relative!important}.password-wrapper input{padding-right:42px!important}.toggle-password{position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-50%)!important;width:34px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:0 0!important;border:none!important;border-radius:6px!important;padding:0!important;margin:0!important;color:#94a3b8!important;cursor:pointer!important;transition:background-color .15s,color .15s!important}.toggle-password:hover{background-color:#f1f5f9!important;color:#475569!important}.toggle-password svg{width:19px!important;height:19px!important;pointer-events:none}.btn-login{width:100%!important;padding:12px!important;background-color:#3b82f6!important;color:#fff!important;border:none!important;border-radius:6px!important;font-weight:700!important;font-size:14px!important;cursor:pointer!important;margin-top:10px!important;transition:background .2s}.btn-login:hover{background-color:#2563eb!important}.login-superadmin-link{text-align:center;margin-top:16px;font-size:13px}.login-superadmin-link a{color:#94a3b8;text-decoration:none}.login-superadmin-link a:hover{color:#3b82f6;text-decoration:underline}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.4);z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s ease}.sidebar-overlay.active{opacity:1;pointer-events:auto}@media (min-width:768px){.sidebar-overlay{display:none!important}}.modal{display:none;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background:rgba(0,0,0,.5)!important;z-index:9999!important;justify-content:center!important;align-items:center!important;padding:15px;box-sizing:border-box}.modal-content{background:#fff!important;padding:20px!important;border-radius:12px!important;box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)!important;width:100%!important;max-width:500px!important;max-height:85vh!important;overflow-y:auto!important;position:relative!important;display:flex!important;flex-direction:column!important}.detail-table{width:100%!important;border-collapse:collapse!important;margin-bottom:20px!important}.detail-table td,.detail-table th{display:table-cell!important;width:auto!important;text-align:left!important;padding:10px 5px!important;border-bottom:1px solid #edf2f7!important}.detail-table td:nth-child(2),.detail-table th:nth-child(2){text-align:center!important}.detail-table td:nth-child(3),.detail-table th:nth-child(3){text-align:right!important}.detail-table td::before{content:""!important;display:none!important}.modal-actions{display:flex!important;gap:10px!important;justify-content:flex-end!important;margin-top:auto!important;padding-top:10px!important}@media (max-width:767px){.modal-actions{flex-direction:column!important;width:100%}.modal-actions button{width:100%!important}}.table-img-wrapper{width:50px;height:50px;border-radius:6px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.table-img-wrapper:hover{transform:scale(1.06);border-color:#3b82f6;box-shadow:0 4px 6px -1px rgba(59,130,246,.2)}.table-img-preview{width:100%;height:100%;object-fit:cover}.table-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;padding:10px}.table-img-placeholder svg{width:24px;height:24px;stroke:#cbd5e1}.table-img-container{position:relative;width:50px;height:50px;display:inline-block}.btn-remove-photo{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background-color:#dc3545!important;color:#fff!important;border-radius:50%!important;padding:0!important;font-size:10px!important;display:flex!important;align-items:center;justify-content:center;cursor:pointer;border:1px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2);z-index:10;font-weight:700}.btn-remove-photo:hover{background-color:#bd2130!important;transform:scale(1.1)}#editFromDetailBtn,.logout-btn{background-color:#dc3545!important;color:#fff!important;border:none!important;transition:background-color .2s ease}#editFromDetailBtn:hover,.logout-btn:hover{background-color:#bd2130!important}.danger-zone-container{padding:10px;background-color:#fff5f5;border:1px dashed #feb2b2;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.danger-zone-main{margin-bottom:20px;padding:12px 15px;background-color:#fff5f5;border:1px dashed #feb2b2;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 2px 4px rgba(0,0,0,.02)}.checkbox-secure-wrapper{display:flex;align-items:center;gap:8px;font-size:13px;color:#4a5568;font-weight:700;cursor:pointer;user-select:none}.checkbox-secure-wrapper input[type=checkbox]{width:16px!important;height:16px!important;margin:0;cursor:pointer}.btn-action-danger{background-color:#ef4444!important;color:#fff!important;border:none!important;padding:6px 12px!important;font-size:12px!important;border-radius:4px!important;cursor:not-allowed!important;opacity:.4;font-weight:700!important;width:auto!important;transition:all .2s ease}.btn-action-danger.active{cursor:pointer!important;opacity:1!important;background-color:#dc3545!important}.btn-action-danger.active:hover{background-color:#bd2130!important}@media (max-width:576px){.danger-zone-main{flex-direction:column;align-items:flex-start;gap:10px}.btn-action-danger{width:100%!important;text-align:center}}.dashboard-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.stat-card{background:#fff;padding:20px;border-radius:12px;display:flex;align-items:center;gap:15px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-info span{font-size:13px;color:#64748b;font-weight:600}.stat-info h3{margin:5px 0 0 0;font-size:22px;color:#1e293b}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-footer{text-align:center;padding:24px 10px 10px 10px;font-size:12px;color:#94a3b8}.pv-page{padding-bottom:0!important}.pv-layout{display:flex;flex-direction:column-reverse;gap:20px;width:100%;box-sizing:border-box}.pv-topbar{width:100%}.pv-search-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.pv-search-icon{width:18px;height:18px;color:#94a3b8;flex-shrink:0}.pv-search-wrap input[type=search]{border:none;padding:0;flex:1;font-size:14px;width:auto}.pv-search-wrap input[type=search]:focus{outline:0}.pv-search-wrap select{border:none;width:auto;color:#475569;font-size:13px;font-weight:600;background:0 0;padding:4px 0 4px 8px;border-left:1px solid #e2e8f0;border-radius:0}.pv-search-wrap select:focus{outline:0}.badge-cemilan,.badge-makanan,.badge-minuman{padding:4px 10px;font-size:11px;font-weight:700;border-radius:12px;color:#fff;display:inline-block}.badge-makanan{background-color:#3b82f6}.badge-minuman{background-color:#10b981}.badge-cemilan{background-color:#f59e0b}.btn-toggle-habis{border:none;border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}.btn-toggle-habis:hover{opacity:.85}.btn-toggle-habis.is-tersedia{background:#dcfce7;color:#15803d}.btn-toggle-habis.is-habis{background:#fee2e2;color:#b91c1c}tr.baris-habis{opacity:.55}tr.baris-habis td{background:0 0}html[data-theme=dark] .btn-toggle-habis.is-tersedia{background:#064e3b!important;color:#4ade80!important}html[data-theme=dark] .btn-toggle-habis.is-habis{background:#450a0a!important;color:#f87171!important}.pv-categories{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.pv-pill{padding:8px 16px;font-size:13px;font-weight:700;border:1.5px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;cursor:pointer;white-space:nowrap;transition:all .15s ease}.pv-pill:hover{border-color:#93c5fd}.pv-pill.active{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.pv-pill-check{color:#3b82f6}.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.pv-empty-state{color:#94a3b8;font-size:14px;padding:30px 0;text-align:center}.pv-card{background:#fff;border-radius:14px;padding:12px;box-shadow:0 2px 6px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s ease,transform .15s ease}.pv-card:hover{box-shadow:0 8px 20px rgba(15,23,42,.1);transform:translateY(-2px)}.pv-card-img{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#eff6ff,#e0e7ff);display:flex;align-items:center;justify-content:center;position:relative}.pv-card-img img{width:100%;height:100%;object-fit:cover}.pv-card-noimg{font-size:32px;font-weight:800;color:#93b4f5}.pv-card-name{font-weight:700;font-size:14px;color:#1e293b;line-height:1.3}.pv-card-price{font-weight:700;font-size:13px;color:#2563eb;margin-top:2px}.pv-card-qty-badge{position:absolute;top:6px;left:6px;background:#2563eb;color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px rgba(37,99,235,.4)}.pv-quick-add{position:absolute;bottom:6px;right:6px;width:30px;height:30px;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(16,185,129,.45);padding:0;transition:transform .15s cubic-bezier(.4, 0, .2, 1),background .15s ease}.pv-quick-add:hover{background:#059669;transform:scale(1.08)}.pv-quick-add:active{transform:scale(.92)}.pv-quick-add svg{width:16px;height:16px;stroke:currentColor;stroke-width:3;fill:none}.pv-quick-add.pv-quick-add-pop{animation:pvQuickAddPop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pvQuickAddPop{0%{transform:scale(1)}40%{transform:scale(1.35);background:#059669}100%{transform:scale(1)}}.pv-card.pv-card-just-added{animation:pvCardAddedGlow .5s ease}@keyframes pvCardAddedGlow{0%{box-shadow:0 0 0 3px rgba(16,185,129,.55),0 2px 6px rgba(15,23,42,.06)}100%{box-shadow:0 2px 6px rgba(15,23,42,.06)}}.pv-card-options{font-size:12px}.pv-card-options summary{cursor:pointer;color:#64748b;font-weight:600;list-style:none;padding:2px 0}.pv-card-options summary::-webkit-details-marker{display:none}.pv-card-options summary::before{content:"▸ "}.pv-card-options[open] summary::before{content:"▾ "}.pv-card-options-inner{display:flex;flex-direction:column;gap:6px;margin-top:6px}.pv-qty-stepper{display:flex;align-items:stretch;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.pv-qty-stepper button{border-radius:0;padding:6px 10px;background:#f1f5f9;color:#334155;font-weight:800}.pv-qty-stepper button:hover{background:#e2e8f0}.pv-qty-stepper input{border:none;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;text-align:center;width:100%;padding:6px 4px;font-size:13px}.pv-note-input{padding:6px 8px;font-size:12px;border-radius:6px}.pv-btn-add{width:100%;background:#10b981;font-size:13px;padding:9px 10px;border-radius:8px}.pv-btn-add:hover{background:#059669}.pv-btn-add:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.pv-card-habis .pv-card-img{filter:grayscale(.9) brightness(.75)}.pv-card-habis .pv-card-name,.pv-card-habis .pv-card-price{opacity:.55}.pv-card-habis-ribbon{position:absolute;top:12px;left:-32px;width:130px;background:#dc2626;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;text-align:center;padding:4px 0;transform:rotate(-40deg);box-shadow:0 2px 4px rgba(0,0,0,.25)}.pv-cart{background:#fff;border-radius:14px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05);display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.pv-cart-scroll{padding:16px 18px 4px;overflow-y:auto}.pv-cart-head{margin-bottom:12px}.pv-cart-head-row{display:flex;justify-content:space-between;align-items:center}.pv-cart-head label{font-size:12px;font-weight:700;color:#64748b;display:block;margin-bottom:5px}.pv-cart-head input{padding:8px 10px;font-size:13px}.pv-link-btn{background:0 0;border:none;color:#3b82f6;font-weight:700;font-size:12px;padding:0;text-decoration:underline;cursor:pointer}.pv-cart-list{display:flex;flex-direction:column;gap:10px;padding:8px 0 4px;border-top:1px dashed #e2e8f0}.pv-cart-empty{color:#94a3b8;font-size:13px;text-align:center;padding:24px 6px}.pv-item{border-bottom:1px dashed #eef2f7;padding-bottom:8px}.pv-item-top{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.pv-item-name{font-weight:700;color:#1e293b}.pv-item-price{font-weight:700;color:#334155;white-space:nowrap}.pv-item-note{font-size:12px;color:#f97316;margin-top:2px}.pv-item-controls{display:flex;gap:6px;margin-top:6px}.pv-item-controls button{padding:3px 10px;font-size:12px;background:#f1f5f9;color:#334155;font-weight:700}.pv-item-controls button:hover{background:#e2e8f0}.pv-item-remove{background:#fee2e2!important;color:#dc2626!important;margin-left:auto}.pv-item-remove:hover{background:#fecaca!important}.pv-cart-footer{padding:12px 18px 18px;border-top:1px solid #f1f5f9;margin-top:auto}.pv-total-toggle{width:100%;background:0 0;border:none;display:flex;justify-content:space-between;align-items:center;padding:4px 0;color:#334155;font-weight:700;font-size:14px;cursor:pointer}.pv-total-toggle-right{display:flex;align-items:center;gap:8px;color:#059669}.pv-caret{font-size:11px;color:#94a3b8}.pv-total-detail{padding:8px 0 4px;border-top:1px dashed #e2e8f0;margin-top:4px}.pv-total-row{display:flex;justify-content:space-between;font-size:13px;color:#64748b;padding:2px 0}.pv-total-grand{font-weight:800;font-size:16px;color:#059669;border-top:1px dashed #cbd5e1;margin-top:5px;padding-top:7px}.pv-action-row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px}.pv-btn-hold{background:#f59e0b;padding:12px 8px;font-size:13px}.pv-btn-hold:hover{background:#d97706}.pv-btn-pay{background:#10b981;padding:12px 8px;font-size:14px}.pv-btn-pay:hover{background:#059669}@media (min-width:768px){.pv-layout{flex-direction:row;align-items:flex-start}.pv-menu-section{flex:1;min-width:0}.pv-cart{width:360px;min-width:360px;position:sticky;top:20px;max-height:calc(100vh - 40px)}.pv-cart-scroll{flex:1;min-height:0}}@media (max-width:767px){.pv-grid{grid-template-columns:repeat(2,1fr);gap:12px}.pv-layout{padding-bottom:90px}.pv-cart{position:fixed!important;left:0;right:0;bottom:0;border-radius:18px 18px 0 0;max-height:82vh;box-shadow:0 -10px 30px rgba(0,0,0,.15);z-index:9999;transform:translateY(calc(100% - 108px));transition:transform .3s cubic-bezier(.25,1,.5,1)}.pv-cart::before{content:"";width:42px;height:5px;background:#cbd5e1;border-radius:3px;margin:10px auto 0;display:block}.pv-cart-scroll{display:none}.pv-cart.pv-expanded{transform:translateY(0)}.pv-cart.pv-expanded .pv-cart-scroll{display:block;max-height:46vh}.pv-action-row{grid-template-columns:1fr 1.4fr}@keyframes pvCartAddedPulse{0%{box-shadow:0 -10px 30px rgba(0,0,0,.15)}35%{box-shadow:0 -14px 34px rgba(16,185,129,.45)}100%{box-shadow:0 -10px 30px rgba(0,0,0,.15)}}.pv-cart.pv-added-flash:not(.pv-expanded){animation:pvCartAddedPulse .5s ease}@keyframes pvBadgePop{0%{transform:scale(1)}40%{transform:scale(1.18);color:#059669}100%{transform:scale(1)}}.pv-cart.pv-added-flash #pvGrandTotalMini{animation:pvBadgePop .4s ease;display:inline-block}}html[data-theme=dark] .dashboard-body,html[data-theme=dark] .login-body,html[data-theme=dark] body{background-color:#0b1220!important;color:#cbd5e1}html[data-theme=dark] .main-content{background-color:#0b1220!important}html[data-theme=dark] .danger-zone-container,html[data-theme=dark] .dashboard-header,html[data-theme=dark] .filter-container,html[data-theme=dark] .form-barang-container,html[data-theme=dark] .login-container,html[data-theme=dark] .menu-card,html[data-theme=dark] .modal-content,html[data-theme=dark] .pv-card,html[data-theme=dark] .pv-topbar,html[data-theme=dark] .sa-table-wrap,html[data-theme=dark] .sa-users-list,html[data-theme=dark] .setting-box,html[data-theme=dark] .stat-card,html[data-theme=dark] .trx-ringkasan-box,html[data-theme=dark] table{background-color:#161f2e!important;color:#cbd5e1!important;border-color:#29374d!important}html[data-theme=dark] .sa-table th,html[data-theme=dark] table th,html[data-theme=dark] table thead{background-color:#1e293b!important;color:#e2e8f0!important;border-color:#29374d!important}html[data-theme=dark] .sa-table td,html[data-theme=dark] table td{border-color:#29374d!important;color:#cbd5e1!important}html[data-theme=dark] .sa-table tr:hover,html[data-theme=dark] table tr:hover{background-color:#1e293b!important}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background-color:#0f172a!important;color:#e2e8f0!important;border-color:#334155!important}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#64748b}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] label,html[data-theme=dark] p{color:#cbd5e1}html[data-theme=dark] .modal{background:rgba(0,0,0,.75)!important}html[data-theme=dark] .form-grid label,html[data-theme=dark] .menu-checks label{color:#94a3b8!important}html[data-theme=dark] .input-rupiah{border-color:#334155!important;background-color:#0f172a!important}html[data-theme=dark] .input-rupiah-prefix{background-color:#1e293b!important;color:#94a3b8!important;border-color:#334155!important}html[data-theme=dark] .form-barang-subtitle{color:#94a3b8!important}html[data-theme=dark] .form-hint{color:#64748b!important}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark] .pv-cart{background-color:#161f2e!important;box-shadow:0 4px 6px -1px rgba(0,0,0,.3)}html[data-theme=dark] .pv-cart-head label{color:#94a3b8!important}html[data-theme=dark] .pv-cart-list,html[data-theme=dark] .pv-total-detail{border-color:#29374d!important}html[data-theme=dark] .pv-cart-footer{border-color:#29374d!important}html[data-theme=dark] .pv-cart-empty{color:#64748b!important}html[data-theme=dark] .pv-item{border-color:#29374d!important}html[data-theme=dark] .pv-item-note{color:#fb923c!important}html[data-theme=dark] .pv-item-controls button{background-color:#1e293b!important;color:#cbd5e1!important}html[data-theme=dark] .pv-item-controls button:hover{background-color:#29374d!important}html[data-theme=dark] .pv-item-remove{background-color:#3f1d1d!important;color:#fca5a5!important}html[data-theme=dark] .pv-item-remove:hover{background-color:#532525!important}html[data-theme=dark] .pv-total-grand{border-color:#334155!important}html[data-theme=dark] .pv-caret{color:#64748b!important}html[data-theme=dark] .pv-cart::before{background:#334155!important}html[data-theme=dark] [style*="background-color: white"],html[data-theme=dark] [style*="background-color:white"],html[data-theme=dark] [style*="background: white"],html[data-theme=dark] [style*="background:white"]{background-color:#161f2e!important}html[data-theme=dark] .chart-card{background-color:#161f2e!important;color:#cbd5e1!important}html[data-theme=dark] .pv-search-wrap{background-color:#161f2e!important}html[data-theme=dark] .pv-search-wrap input[type=search],html[data-theme=dark] .pv-search-wrap select{background-color:transparent!important;border-color:transparent!important}html[data-theme=dark] .pv-search-icon{color:#64748b!important}html[data-theme=dark] .pv-pill{background-color:#161f2e!important;border-color:#29374d!important}html[data-theme=dark] .pv-pill.active{background-color:#1e3a5f!important;border-color:#3b82f6!important;color:#93c5fd!important}html[data-theme=dark] .pv-pill-check{color:#93c5fd!important}html[data-theme=dark] .dapur-tiket-nota,html[data-theme=dark] .header-title,html[data-theme=dark] .menu-title,html[data-theme=dark] .pv-card-name,html[data-theme=dark] .pv-item-name,html[data-theme=dark] .stat-info h3{color:#e8edf5!important}html[data-theme=dark] .checkbox-secure-wrapper,html[data-theme=dark] .pv-item-controls button,html[data-theme=dark] .pv-item-price,html[data-theme=dark] .pv-pill,html[data-theme=dark] .pv-qty-stepper button,html[data-theme=dark] .pv-search-wrap select,html[data-theme=dark] .pv-total-toggle,html[data-theme=dark] .tab-btn,html[data-theme=dark] .trx-item-actions button,html[data-theme=dark] .trx-ringkasan-row{color:#cbd5e1!important}html[data-theme=dark] .detail-table,html[data-theme=dark] .detail-table td,html[data-theme=dark] .detail-table tr,html[data-theme=dark] .pv-qty-stepper,html[data-theme=dark] .pv-search-wrap{border-color:#29374d!important}html[data-theme=dark] .form-barang-container,html[data-theme=dark] .setting-box,html[data-theme=dark] hr{border-color:#29374d!important}.theme-toggle-btn{background:0 0;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;width:34px;height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.theme-toggle-btn:hover{background:rgba(255,255,255,.12)}.dapur-tiket-list{display:flex;flex-direction:column;gap:12px}.dapur-tiket-kosong{text-align:center;color:#94a3b8;padding:30px 15px;font-size:14px}.dapur-tiket-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #f59e0b;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.dapur-tiket-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.dapur-tiket-nota{font-weight:800;color:#1e293b;font-size:19px;letter-spacing:.3px}.dapur-tiket-waktu{font-size:12.5px;color:#94a3b8;font-weight:600}.dapur-tiket-items{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.dapur-tiket-items li{display:flex;align-items:flex-start;gap:10px;padding-bottom:10px;border-bottom:1px dashed #f1f5f9}.dapur-tiket-items li:last-child{border-bottom:none;padding-bottom:0}.dapur-item-qty{flex-shrink:0;min-width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:#fef3c7;color:#b45309;font-weight:800;font-size:15px;border-radius:8px;padding:0 6px}.dapur-item-baris{display:flex;flex-direction:column;gap:3px;min-width:0}.dapur-item-nama{font-size:17px;font-weight:700;color:#1e293b;line-height:1.3}.dapur-tiket-items .dapur-item-catatan{display:inline-block;font-size:13px;font-weight:600;color:#b45309;background:#fffbeb;border-radius:6px;padding:3px 9px;width:fit-content}.dapur-tiket-selesai-btn{width:100%;background:#16a34a;padding:12px;font-size:15px;font-weight:700;letter-spacing:.3px}.dapur-tiket-selesai-btn:disabled{opacity:.6;cursor:default}.status-badge-dimasak,.status-badge-selesai{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.status-badge-dimasak{background:#fef3c7;color:#92400e}.status-badge-selesai{background:#dcfce7;color:#15803d}.dapur-monitor-fab{position:fixed;right:20px;bottom:90px;z-index:900;background:#0f172a;color:#fff;border:none;border-radius:999px;width:54px;height:54px;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);cursor:pointer}.dapur-monitor-fab .dapur-monitor-count{position:absolute;top:-4px;right:-4px;background:#dc3545;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}.dapur-monitor-fab .dapur-monitor-count[hidden]{display:none}.dapur-monitor-panel{position:fixed;right:16px;bottom:150px;z-index:900;width:min(340px,calc(100vw - 32px));max-height:min(480px,calc(100vh - 220px));background:#f4f7f6;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:none;flex-direction:column;overflow:hidden}.dapur-monitor-panel.active{display:flex}.dapur-monitor-panel-head{background:#0f172a;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}.dapur-monitor-panel-close{background:0 0;border:none;color:#fff;font-size:16px;cursor:pointer;padding:2px 6px}.dapur-monitor-panel-body{padding:14px;overflow-y:auto}html[data-theme=dark] .dapur-tiket-card{background:#161f2e!important;border-color:#29374d!important;color:#cbd5e1}html[data-theme=dark] .dapur-tiket-nota{color:#e8edf5!important}html[data-theme=dark] .dapur-tiket-items li{color:#cbd5e1!important;border-bottom-color:#29374d!important}html[data-theme=dark] .dapur-tiket-head{border-bottom-color:#29374d!important}html[data-theme=dark] .dapur-item-nama{color:#e8edf5!important}html[data-theme=dark] .dapur-item-qty{background:#422006!important;color:#fbbf24!important}html[data-theme=dark] .dapur-item-catatan{background:#422006!important;color:#fbbf24!important}html[data-theme=dark] .dapur-monitor-panel{background:#0b1220!important}html[data-theme=dark] .pv-card-img{background:linear-gradient(135deg,#1e293b,#161f2e)!important}html[data-theme=dark] .pv-card-noimg{color:#475569!important}html[data-theme=dark] .menu-card-img-wrapper,html[data-theme=dark] .table-img-placeholder{background:#1e293b!important;border-color:#29374d!important}html[data-theme=dark] .table-img-placeholder svg{color:#475569!important}html[data-theme=dark] [style*="color: #1e293b"],html[data-theme=dark] [style*="color: #2d3748"],html[data-theme=dark] [style*="color: #333"],html[data-theme=dark] [style*="color: #334155"],html[data-theme=dark] [style*="color:#1e293b"],html[data-theme=dark] [style*="color:#2d3748"],html[data-theme=dark] [style*="color:#333"],html[data-theme=dark] [style*="color:#334155"]{color:#e8edf5!important}html[data-theme=dark] [style*="color: #4a5568"],html[data-theme=dark] [style*="color: #555"],html[data-theme=dark] [style*="color: #64748b"],html[data-theme=dark] [style*="color: #666"],html[data-theme=dark] [style*="color: #6c757d"],html[data-theme=dark] [style*="color: #777"],html[data-theme=dark] [style*="color: #94a3b8"],html[data-theme=dark] [style*="color: #999"],html[data-theme=dark] [style*="color:#4a5568"],html[data-theme=dark] [style*="color:#555"],html[data-theme=dark] [style*="color:#64748b"],html[data-theme=dark] [style*="color:#666"],html[data-theme=dark] [style*="color:#6c757d"],html[data-theme=dark] [style*="color:#777"],html[data-theme=dark] [style*="color:#94a3b8"],html[data-theme=dark] [style*="color:#999"]{color:#94a3b8!important}html[data-theme=dark] [style*="background-color: #fff"],html[data-theme=dark] [style*="background-color:#fff"],html[data-theme=dark] [style*="background: #f4f7f6"],html[data-theme=dark] [style*="background: #f8f9fa"],html[data-theme=dark] [style*="background: #fff"],html[data-theme=dark] [style*="background:#f4f7f6"],html[data-theme=dark] [style*="background:#f8f9fa"],html[data-theme=dark] [style*="background:#fff"]{background-color:#161f2e!important;border-color:#29374d!important}html[data-theme=dark] [style*="#ddd"],html[data-theme=dark] [style*="#dee2e6"],html[data-theme=dark] [style*="#edf2f7"],html[data-theme=dark] [style*="#f1f5f9"],html[data-theme=dark] [style*="#f8fafc"],html[data-theme=dark] [style*="border-top: 1px solid #e2e8f0"],html[data-theme=dark] [style*="border-top:1px solid #e2e8f0"],html[data-theme=dark] [style*="border: 1px solid #e2e8f0"],html[data-theme=dark] [style*="border:1px solid #e2e8f0"]{border-color:#29374d!important}html[data-theme=dark] [style*="dashed #333"],html[data-theme=dark] [style*="dashed #999"]{border-color:#475569!important}[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}