.vlsm-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.15s ease}
.vlsm-modal.is-open{opacity:1;pointer-events:auto}
.vlsm-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.vlsm-modal__dialog{position:relative;background:#fff;max-width:900px;width:100%;border-radius:12px;box-shadow:0 10px 35px rgba(0,0,0,.25);overflow:hidden}
.vlsm-modal__close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:26px;cursor:pointer}
.vlsm-modal__body{padding:20px;max-height:80vh;overflow:auto}
.vlsm-toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:10001;display:inline-block;max-width:90vw;background:#111;color:#fff;padding:10px 14px;border-radius:10px;line-height:1.2;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.25);opacity:0;transition:opacity .2s ease, transform .2s ease;pointer-events:none;white-space:nowrap;}
.vlsm-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.vlsm-toast--err{background:#b00020;color:#fff}
.vlsm-form-row{display:flex;gap:10px;flex-direction:column;align-items:start;margin:8px 0}
.vlsm-table{width:100%;border-collapse:collapse;margin-top:10px}
.vlsm-table th,.vlsm-table td{border-bottom:1px solid #eee;padding:8px 6px;text-align:left}
.vlsm-actions{display:flex;gap:8px;margin-top:14px}
.vlsm-button{background:#111;color:#fff;border:0;padding:8px 12px;border-radius:8px;cursor:pointer}
.vlsm-button:hover{color:#fff;}
.vlsm-muted{opacity:.75}
.vlsm-form-row label {font-weight:500;}

/* v1.5.3: Add item row two-columns under the label */
.vlsm-additem-row{display:flex; gap:.75rem; align-items:flex-end;}
.vlsm-additem-row .vlsm-additem-select{flex:1;}
.vlsm-additem-row .vlsm-additem-qty{width:120px;}

/* v1.5.3: Receipt preview small */
.vlsm-receipt-field .vlsm-receipt-preview img{max-width:96px; height:auto; display:block; border-radius:4px; border:1px solid rgba(0,0,0,.08);}

/* responsive fallback */
@media (max-width: 480px){
  .vlsm-additem-row{flex-direction:column; align-items:stretch;}
  .vlsm-additem-row .vlsm-additem-qty{width:100%;}
}
