:root{--kasir-primary:#D98C8C;--kasir-primary-dark:#C17272;--kasir-bg:#F7E8E8;--kasir-border:#f0e2e7}.btn-kasir{background:var(--kasir-primary);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.8rem;padding:8px 10px;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 3px 10px rgba(194,112,124,.28);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-kasir:hover,.btn-kasir:focus{background:var(--kasir-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 5px 14px rgba(194,112,124,.4)}.btn-kasir-lg{font-size:1rem;padding:12px 18px;border-radius:12px}.btn-kasir.btn-kasir-added,.btn-kasir.btn-kasir-added:hover{background:#2e9e5b;box-shadow:0 3px 10px rgba(46,158,91,.35)}.kasir-modal .modal-dialog.kasir-modal-dialog{margin-top:34px;margin-bottom:34px;max-height:calc(100% - 68px)}.kasir-modal .modal-content{border:none;border-radius:22px;overflow:hidden;background:var(--kasir-bg);box-shadow:0 24px 70px rgba(193,114,114,.28)}.kasir-modal .modal-header{background:linear-gradient(135deg,var(--kasir-primary),var(--kasir-primary-dark));color:#fff;border-bottom:none;padding:18px 22px;position:relative}.kasir-modal .modal-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#c9a15a,#e6c68a,#c9a15a)}.kasir-modal .modal-header .btn-close{filter:invert(1) grayscale(100%) brightness(200%);opacity:.9}.kasir-modal .modal-title{font-weight:700;display:flex;align-items:center;gap:10px;font-size:1.08rem;letter-spacing:.2px}.kasir-modal .modal-title i{background:rgba(255,255,255,.2);width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem}.kasir-modal .modal-body{padding:18px}.kasir-modal .modal-footer{background:#fff;border-top:1px solid var(--kasir-border);padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));display:block}.kasir-item{background:#fff;border-radius:16px;box-shadow:0 3px 14px rgba(193,114,114,.07);border:1px solid #f4e8ea;padding:15px;margin-bottom:13px;animation:kasirFadeIn .25s ease}@keyframes kasirFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kasir-item-top{display:flex;gap:12px;align-items:flex-start}.kasir-item-top img{width:74px;height:74px;object-fit:cover;border-radius:12px;flex-shrink:0;background:#fdeef3;border:1px solid #f4e8ea}.kasir-item-nama{font-weight:600;font-size:.94rem;margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kasir-item-harga{color:var(--kasir-primary);font-weight:700;font-size:.96rem}.kasir-item-stok{font-size:.72rem;color:#8a8385}.kasir-item-hapus{background:none;border:none;color:#c94040;font-size:1rem;padding:4px 8px;border-radius:8px;flex-shrink:0;transition:background .15s ease}.kasir-item-hapus:hover{background:#fdecec}.kasir-item-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:flex-end}.kasir-ctl label{display:block;font-size:.72rem;font-weight:600;color:#8a8385;margin-bottom:4px}.kasir-ctl select{font-size:.85rem;border-radius:10px;border:1px solid var(--kasir-border);min-width:96px}.kasir-ctl select:focus{border-color:var(--kasir-primary);box-shadow:0 0 0 .2rem rgba(194,112,124,.15)}.kasir-qty-box{display:flex;align-items:center;border:1px solid var(--kasir-border);border-radius:20px;overflow:hidden;background:#fff}.kasir-qty-box button{background:#fdeef3;border:none;width:34px;height:34px;font-weight:700;color:var(--kasir-primary);font-size:1rem;line-height:1;transition:background .15s ease}.kasir-qty-box button:hover{background:#fbdce8}.kasir-qty-box input{width:48px;border:none;text-align:center;font-weight:700;font-size:.92rem;-moz-appearance:textfield}.kasir-qty-box input::-webkit-outer-spin-button,.kasir-qty-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.kasir-qty-box input:focus{outline:none}.kasir-item-catatan{margin-top:10px}.kasir-item-catatan textarea{font-size:.83rem;border-radius:10px;border:1px solid var(--kasir-border);resize:none}.kasir-item-catatan textarea:focus{border-color:var(--kasir-primary);box-shadow:0 0 0 .2rem rgba(194,112,124,.15)}.kasir-item-subtotal{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--kasir-border);margin-top:12px;padding-top:10px;font-size:.86rem}.kasir-item-subtotal b{color:var(--kasir-primary);font-size:.98rem}.btn-kasir-tambah{width:100%;background:#fff;border:2px dashed var(--kasir-primary);color:var(--kasir-primary);border-radius:14px;font-weight:600;padding:12px;transition:.2s ease}.btn-kasir-tambah:hover{background:#fdeef3;color:var(--kasir-primary-dark)}.kasir-picker{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:12px;margin-top:12px;animation:kasirFadeIn .25s ease}.kasir-picker-search{position:relative;margin-bottom:10px}.kasir-picker-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#b9a9ad;font-size:.85rem;pointer-events:none}.kasir-picker-search input{width:100%;border:1px solid var(--kasir-border);border-radius:20px;padding:8px 14px 8px 34px;font-size:.88rem;background:var(--kasir-bg)}.kasir-picker-search input:focus{outline:none;border-color:var(--kasir-primary);background:#fff}.kasir-picker-list{max-height:260px;overflow-y:auto}.kasir-picker-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;transition:background .15s ease}.kasir-picker-item:hover{background:#fdeef3}.kasir-picker-item img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex-shrink:0;background:#fdeef3}.kasir-picker-item .kp-nama{font-size:.85rem;font-weight:600;line-height:1.25}.kasir-picker-item .kp-harga{font-size:.78rem;color:var(--kasir-primary);font-weight:700}.kasir-picker-item .kp-stok{font-size:.7rem;color:#8a8385}.kasir-picker-item .kp-add{margin-left:auto;color:var(--kasir-primary);font-size:1.15rem;flex-shrink:0}.kasir-picker-empty{text-align:center;color:#8a8385;font-size:.85rem;padding:16px 0}.kasir-ringkasan{background:#fff;border-radius:16px;box-shadow:0 3px 14px rgba(193,114,114,.07);border:1px solid #f4e8ea;padding:16px;margin-top:14px}.kasir-ringkasan h6{font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}.kasir-ringkasan h6 i{color:var(--kasir-primary)}.kasir-ringkasan-baris{display:flex;justify-content:space-between;gap:10px;font-size:.86rem;padding:5px 0}.kasir-ringkasan-baris .kr-nama{color:#5a5052}.kasir-ringkasan-baris .kr-qty{color:#8a8385;white-space:nowrap}.kasir-ringkasan-baris .kr-sub{font-weight:600;white-space:nowrap}.kasir-ringkasan hr{border-top:1px dashed #d9c9ce;opacity:1;margin:10px 0}.kasir-total-baris{display:flex;justify-content:space-between;font-size:.9rem;padding:3px 0}.kasir-total-baris.grand{font-size:1.05rem;font-weight:800;background:linear-gradient(135deg,#fdf3f4,#f9e9ec);margin:8px -16px -16px;padding:14px 16px;border-radius:0 0 16px 16px;border-top:1px solid #f0dde1}.kasir-total-baris.grand span:last-child{color:var(--kasir-primary-dark);font-size:1.15rem}.kasir-pembeli{background:#fff;border-radius:16px;box-shadow:0 3px 14px rgba(193,114,114,.07);border:1px solid #f4e8ea;padding:16px;margin-top:14px}.kasir-pembeli h6{font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}.kasir-pembeli h6 i{color:var(--kasir-primary)}.kasir-pembeli .form-label{font-size:.8rem;font-weight:600;margin-bottom:4px}.kasir-pembeli .form-control{border-radius:10px;border:1px solid var(--kasir-border);font-size:.88rem}.kasir-pembeli .form-control:focus{border-color:var(--kasir-primary);box-shadow:0 0 0 .2rem rgba(194,112,124,.15)}.btn-kasir-wa{width:100%;background:#25D366;color:#fff;border:none;border-radius:14px;font-weight:800;font-size:1.05rem;letter-spacing:.4px;padding:14px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 18px rgba(37,211,102,.35);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-kasir-wa:hover{background:#1ebe5b;color:#fff;transform:translateY(-1px);box-shadow:0 8px 22px rgba(37,211,102,.45)}.btn-kasir-wa:disabled{opacity:.65}.kasir-empty{text-align:center;padding:34px 12px;color:#8a8385}.kasir-empty i{font-size:2.4rem;color:#eab8c8;display:block;margin-bottom:10px}.kasir-toast{position:fixed;bottom:96px;right:24px;z-index:2000;background:#3a2e30;color:#fff;padding:12px 18px;border-radius:10px;font-size:.9rem;box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;transform:translateY(10px);transition:.25s ease;pointer-events:none;max-width:calc(100vw - 48px)}.kasir-toast.show{opacity:1;transform:translateY(0)}.kasir-toast.error{background:#a8231a}@media (max-width:767.98px){.kasir-modal .modal-dialog.kasir-modal-dialog{margin-left:14px;margin-right:14px;margin-top:26px;margin-bottom:26px;max-height:calc(100% - 52px)}.kasir-modal .modal-body{padding:13px}.kasir-modal .modal-header{padding:15px 16px}.kasir-modal .modal-title{font-size:1rem}.kasir-item{padding:13px;border-radius:14px}.kasir-item-top img{width:64px;height:64px}.kasir-qty-box button{width:38px;height:38px}.kasir-ringkasan,.kasir-pembeli{padding:14px;border-radius:14px}.kasir-total-baris.grand{margin:8px -14px -14px;padding:13px 14px}.kasir-toast{bottom:82px;left:16px;right:16px;text-align:center}.btn-kasir-wa{font-size:1rem;padding:13px}}.kasir-pilihan{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:420px){.kasir-pilihan{grid-template-columns:1fr}}.kasir-pilihan-item{display:flex;align-items:center;gap:10px;cursor:pointer;border:1.5px solid #ecdfe1;border-radius:12px;padding:10px 12px;background:#fff;transition:.18s ease;margin:0}.kasir-pilihan-item:hover{border-color:var(--kasir-primary,#D98C8C)}.kasir-pilihan-item:has(input:checked){border-color:var(--kasir-primary,#D98C8C);background:#fdf3f4;box-shadow:0 2px 10px rgba(201,114,122,.12)}.kasir-pilihan-item input{flex:0 0 auto;margin:0}.kasir-pilihan-icon{width:38px;height:38px;flex:0 0 38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--kasir-primary,#D98C8C),#c9a15a);color:#fff;font-size:1.1rem}.kasir-pilihan-teks{display:flex;flex-direction:column;line-height:1.25}.kasir-pilihan-teks b{font-size:.9rem}.kasir-pilihan-teks small{color:#9a8b8e;font-size:.72rem}.kasir-pilihan-item.disabled{opacity:.5;cursor:not-allowed}.kasir-pilihan-item.disabled:hover{border-color:#ecdfe1}.kasir-info-warning{display:flex;gap:10px;align-items:flex-start;background:#fff7e6;border:1px solid #f2d18b;color:#8a6116;border-radius:12px;padding:10px 12px;font-size:.82rem;line-height:1.45}.kasir-info-warning i{color:#e0a52e;font-size:1rem;margin-top:1px}.kasir-rekening{border:1.5px dashed var(--kasir-primary,#D98C8C);border-radius:12px;padding:12px;background:#fffafa}.kasir-rekening-logo{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #eee;padding:4px}.kasir-rekening-logo-fallback{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f6e7e9;color:var(--kasir-primary,#D98C8C);font-size:1.3rem;flex:0 0 48px}.kasir-rekening-norek{font-weight:700;letter-spacing:1px;font-size:1.02rem;color:#3D3D3D}.kasir-rekening-qris{max-width:180px;width:100%;border-radius:10px;border:1px solid #eee}@media (max-width:575.98px){.card-produk .btn-kasir,.kategori-card .btn-kasir,.col-6 .btn-kasir{font-size:.7rem;padding:7px 6px;border-radius:9px;gap:4px;line-height:1.15;letter-spacing:.1px}.card-produk .btn-kasir i,.col-6 .btn-kasir i{font-size:.8rem}.card-produk .d-flex.gap-2,.col-6 .d-flex.gap-2{gap:.4rem !important}.card-produk .d-flex.gap-2>.btn-outline-custom.btn-sm,.col-6 .d-flex.gap-2>.btn-outline-custom.btn-sm{flex:0 0 auto;width:34px;min-width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.card-produk .d-flex.gap-2>.btn-outline-custom.btn-sm i,.col-6 .d-flex.gap-2>.btn-outline-custom.btn-sm i{font-size:.85rem;margin:0}}@media (max-width:360px){.card-produk .btn-kasir,.col-6 .btn-kasir{font-size:.66rem;padding:6px 4px}.card-produk .d-flex.gap-2>.btn-outline-custom.btn-sm,.col-6 .d-flex.gap-2>.btn-outline-custom.btn-sm{width:32px;min-width:32px}}.kasir-voucher{background:var(--rs-blush,#F7E8E8);border:1px dashed var(--rs-blush-2,#EFD4D4);border-radius:12px;padding:12px 14px;margin-bottom:14px}.kasir-voucher-label{display:block;font-size:.82rem;font-weight:600;color:var(--rs-primary-dark,#7A3B44);margin-bottom:8px}.kasir-voucher-label i{margin-right:4px}.kasir-voucher-input{display:flex;gap:8px}.kasir-voucher-input .form-control{flex:1;border-radius:10px;border-color:#eadfe0;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.kasir-voucher-input .form-control:focus{border-color:var(--rs-primary,#D98C8C);box-shadow:0 0 0 .18rem rgba(217,140,140,.16)}.kasir-voucher-input .btn{border-radius:10px;padding:8px 18px;font-weight:600;font-size:.88rem;white-space:nowrap}.kasir-voucher-info{display:block;margin-top:7px;font-size:.8rem;min-height:1em}.kasir-voucher-info.is-ok{color:#1f8a4c;font-weight:600}.kasir-voucher-info.is-error{color:#c0392b}.kasir-voucher-info.is-loading{color:#9a8a8a;font-style:italic}.kasir-total-baris.kasir-baris-diskon span:last-child{color:#1f8a4c;font-weight:600}