/* Visible Restaurant POS v0.4.2 */

.vmp-pos-wrap,

.vmp-pos-wrap * {

    box-sizing: border-box !important;

    writing-mode: horizontal-tb !important;

    text-orientation: mixed !important;

    transform: none !important;

    letter-spacing: normal !important;

    word-break: normal !important;

    overflow-wrap: normal !important;

}



.vmp-pos-wrap {

    --vmp-bg: #ffffff;

    --vmp-soft: #f8fafc;

    --vmp-line: #e5e7eb;

    --vmp-line-2: #cbd5e1;

    --vmp-text: #0f172a;

    --vmp-muted: #64748b;

    --vmp-primary: #111827;

    --vmp-blue: #2563eb;

    width: min(1500px, calc(100vw - 32px)) !important;

    max-width: 1500px !important;

    margin: 24px auto !important;

    padding: 0 !important;

    clear: both !important;

    color: var(--vmp-text) !important;

    font-size: 16px !important;

    line-height: 1.45 !important;

}



.vmp-pos-wrap .vmp-card {

    width: 100% !important;

    margin: 0 !important;

    padding: 28px !important;

    background: var(--vmp-bg) !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 18px !important;

    box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;

    overflow: hidden !important;

}



.vmp-pos-wrap .vmp-card-header {

    display: flex !important;

    justify-content: space-between !important;

    align-items: flex-start !important;

    gap: 18px !important;

    margin: 0 0 24px !important;

    padding: 0 !important;

}



.vmp-pos-wrap h2 {

    margin: 0 0 7px !important;

    padding: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 30px !important;

    line-height: 1.15 !important;

    font-weight: 900 !important;

}



.vmp-pos-wrap .vmp-table-label {

    margin: 0 !important;

    padding: 0 !important;

    color: #1f2937 !important;

    font-size: 18px !important;

    font-weight: 850 !important;

}



.vmp-pos-wrap .vmp-table-box {

    width: 100% !important;

    margin: 0 0 22px !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 15px !important;

    background: #fff !important;

    overflow-x: auto !important;

}



.vmp-pos-wrap table.vmp-order-table {

    display: table !important;

    width: 100% !important;

    min-width: 780px !important;

    margin: 0 !important;

    border-collapse: separate !important;

    border-spacing: 0 !important;

    table-layout: auto !important;

    color: var(--vmp-text) !important;

    background: #fff !important;

}



.vmp-pos-wrap .vmp-order-table thead { display: table-header-group !important; }

.vmp-pos-wrap .vmp-order-table tbody { display: table-row-group !important; }

.vmp-pos-wrap .vmp-order-table tr { display: table-row !important; }



.vmp-pos-wrap .vmp-order-table th,

.vmp-pos-wrap .vmp-order-table td {

    display: table-cell !important;

    margin: 0 !important;

    padding: 16px 18px !important;

    border: 0 !important;

    border-bottom: 1px solid #eef2f7 !important;

    background: transparent !important;

    color: var(--vmp-text) !important;

    vertical-align: middle !important;

    text-align: left !important;

    font-size: 16px !important;

    line-height: 1.35 !important;

    height: auto !important;

}



.vmp-pos-wrap .vmp-order-table thead th {

    background: #f8fafc !important;

    font-size: 14px !important;

    font-weight: 900 !important;

    text-transform: uppercase !important;

    letter-spacing: .02em !important;

    color: #334155 !important;

}



.vmp-pos-wrap .vmp-order-table tbody tr:last-child td { border-bottom: 0 !important; }

.vmp-pos-wrap .vmp-order-table tbody tr:hover td { background: #fbfdff !important; }



.vmp-pos-wrap .vmp-order-table .vmp-num {

    width: 150px !important;

    text-align: right !important;

    white-space: nowrap !important;

}



.vmp-pos-wrap .vmp-order-table .vmp-item-cell { width: auto !important; }

.vmp-pos-wrap .vmp-order-table .vmp-item-cell strong,

.vmp-pos-wrap .vmp-strong {

    display: block !important;

    color: var(--vmp-text) !important;

    font-size: 17px !important;

    font-weight: 900 !important;

}



.vmp-pos-wrap .vmp-order-table .vmp-item-cell small {

    display: block !important;

    max-width: 1000px !important;

    margin-top: 5px !important;

    color: #475569 !important;

    font-size: 14px !important;

    line-height: 1.45 !important;

    font-weight: 500 !important;

    overflow-wrap: anywhere !important;

}



.vmp-pos-wrap .vmp-checkout-bottom {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;

    gap: 22px !important;

    align-items: start !important;

    margin: 0 0 18px !important;

    width: 100% !important;

}



/* Summary is intentionally a compact list, not tall cards */

.vmp-pos-wrap .vmp-summary {

    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 0 !important;

    width: 100% !important;

    min-width: 0 !important;

    padding: 8px 18px !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 15px !important;

    background: #fff !important;

    overflow: hidden !important;

}



.vmp-pos-wrap .vmp-summary-row {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto !important;

    align-items: center !important;

    gap: 20px !important;

    min-height: 0 !important;

    height: auto !important;

    margin: 0 !important;

    padding: 14px 0 !important;

    border: 0 !important;

    border-bottom: 1px solid #eef2f7 !important;

    border-radius: 0 !important;

    background: transparent !important;

    position: relative !important;

}

.vmp-pos-wrap .vmp-summary-row:last-child { border-bottom: 0 !important; }



.vmp-pos-wrap .vmp-summary-row span,

.vmp-pos-wrap .vmp-summary-row label {

    display: block !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    color: var(--vmp-muted) !important;

    font-size: 14px !important;

    font-weight: 850 !important;

    line-height: 1.25 !important;

    position: static !important;

    white-space: normal !important;

}



.vmp-pos-wrap .vmp-summary-row strong {

    display: block !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 22px !important;

    line-height: 1.15 !important;

    font-weight: 950 !important;

    text-align: right !important;

    white-space: nowrap !important;

    position: static !important;

}



.vmp-pos-wrap .vmp-total-row strong { font-size: 24px !important; }



.vmp-pos-wrap .vmp-grand-row {

    margin: 8px -10px 0 !important;

    padding: 18px 16px !important;

    border: 0 !important;

    border-radius: 13px !important;

    background: #111827 !important;

}

.vmp-pos-wrap .vmp-grand-row span,

.vmp-pos-wrap .vmp-grand-row strong { color: #fff !important; }

.vmp-pos-wrap .vmp-grand-row strong { font-size: 27px !important; }



.vmp-pos-wrap .vmp-tip-row {

    grid-template-columns: minmax(0, 1fr) auto !important;

}

.vmp-pos-wrap .vmp-tip-input-wrap {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: flex-end !important;

    gap: 8px !important;

    width: auto !important;

    min-width: 0 !important;

    position: relative !important;

}

.vmp-pos-wrap .vmp-tip-input-wrap span,

.vmp-pos-wrap .vmp-cash-input-line span {

    display: inline-block !important;

    width: auto !important;

    min-width: 22px !important;

    color: var(--vmp-muted) !important;

    font-size: 14px !important;

    font-weight: 850 !important;

    line-height: 1 !important;

    white-space: nowrap !important;

}



.vmp-pos-wrap input#vmp_tip_amount,

.vmp-pos-wrap input#vmp_cash_received {

    display: inline-block !important;

    width: 130px !important;

    min-width: 130px !important;

    max-width: 130px !important;

    height: 44px !important;

    min-height: 44px !important;

    margin: 0 !important;

    padding: 8px 12px !important;

    border: 1px solid #cbd5e1 !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

    font-size: 17px !important;

    font-weight: 750 !important;

    line-height: 1.2 !important;

    text-align: right !important;

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;

    appearance: auto !important;

    -webkit-appearance: auto !important;

    -webkit-user-select: text !important;

    user-select: text !important;

    position: relative !important;

    z-index: 5 !important;

}



.vmp-pos-wrap input#vmp_tip_amount:focus,

.vmp-pos-wrap input#vmp_cash_received:focus {

    outline: none !important;

    border-color: var(--vmp-blue) !important;

    box-shadow: 0 0 0 3px rgba(37, 99, 235, .14) !important;

}



.vmp-pos-wrap .vmp-payment-panel {

    display: flex !important;

    flex-direction: column !important;

    gap: 14px !important;

    width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    padding: 18px !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 15px !important;

    background: #fff !important;

    position: relative !important;

}



.vmp-pos-wrap .vmp-payment-title {

    display: block !important;

    margin: 0 !important;

    padding: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 16px !important;

    font-weight: 900 !important;

}



.vmp-pos-wrap .vmp-payment-methods {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;

    margin: 0 !important;

}



.vmp-pos-wrap button.vmp-method-card,

.vmp-pos-wrap .vmp-method-card {

    appearance: none !important;

    -webkit-appearance: none !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 10px !important;

    width: 100% !important;

    min-width: 0 !important;

    min-height: 58px !important;

    margin: 0 !important;

    padding: 13px 14px !important;

    border: 1px solid var(--vmp-line-2) !important;

    border-radius: 13px !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

    font-size: 16px !important;

    font-weight: 900 !important;

    line-height: 1.2 !important;

    text-align: center !important;

    cursor: pointer !important;

    box-shadow: none !important;

    text-decoration: none !important;

    position: relative !important;

    z-index: 1 !important;

}



.vmp-pos-wrap button.vmp-method-card:hover {

    border-color: #94a3b8 !important;

    background: #f8fafc !important;

}



.vmp-pos-wrap button.vmp-method-card.vmp-is-selected {

    border-color: var(--vmp-blue) !important;

    background: #eff6ff !important;

    color: #1d4ed8 !important;

    box-shadow: 0 0 0 2px rgba(37, 99, 235, .14) inset !important;

}



.vmp-pos-wrap .vmp-method-icon,

.vmp-pos-wrap .vmp-method-label {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    position: static !important;

    width: auto !important;

    height: auto !important;

    min-width: 0 !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

    opacity: 1 !important;

    visibility: visible !important;

    color: inherit !important;

    overflow: visible !important;

    text-indent: 0 !important;

    white-space: nowrap !important;

    pointer-events: none !important;

}

.vmp-pos-wrap .vmp-method-icon { font-size: 20px !important; line-height: 1 !important; }

.vmp-pos-wrap .vmp-method-label { font-size: 16px !important; font-weight: 900 !important; }



.vmp-pos-wrap .vmp-cash-panel {

    display: none !important;

    margin: 0 !important;

    padding: 15px !important;

    border: 1px solid #bfdbfe !important;

    border-radius: 13px !important;

    background: #eff6ff !important;

    position: relative !important;

    z-index: 3 !important;

}

.vmp-pos-wrap .vmp-cash-panel.vmp-is-visible { display: block !important; }

.vmp-pos-wrap .vmp-cash-panel label {

    display: block !important;

    margin: 0 0 8px !important;

    padding: 0 !important;

    color: #1e3a8a !important;

    font-size: 13px !important;

    font-weight: 900 !important;

    line-height: 1.25 !important;

    position: static !important;

}

.vmp-pos-wrap .vmp-cash-input-line {

    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 8px !important;

    margin: 0 0 12px !important;

    position: relative !important;

    z-index: 4 !important;

}

.vmp-pos-wrap .vmp-change-line {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto !important;

    justify-content: initial !important;

    align-items: center !important;

    gap: 18px !important;

    margin-top: 4px !important;

    padding-top: 12px !important;

    border-top: 1px solid #bfdbfe !important;

    color: #1e3a8a !important;

    font-weight: 850 !important;

}

.vmp-pos-wrap .vmp-change-line span {

    color: #1e3a8a !important;

    font-size: 14px !important;

    font-weight: 900 !important;

    white-space: nowrap !important;

    justify-self: start !important;

}

.vmp-pos-wrap .vmp-change-line strong {

    display: inline-block !important;

    min-width: 125px !important;

    text-align: right !important;

    font-size: 22px !important;

    font-weight: 950 !important;

    color: #1e3a8a !important;

    white-space: nowrap !important;

    justify-self: end !important;

}



.vmp-pos-wrap .vmp-button {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    min-height: 50px !important;

    margin: 0 !important;

    padding: 13px 18px !important;

    border-radius: 13px !important;

    font-size: 16px !important;

    font-weight: 900 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

    cursor: pointer !important;

}

.vmp-pos-wrap .vmp-button-primary {

    width: 100% !important;

    border: 0 !important;

    background: var(--vmp-primary) !important;

    color: #fff !important;

    box-shadow: 0 8px 18px rgba(15, 23, 42, .16) !important;

}

.vmp-pos-wrap .vmp-button-primary:hover { background: #020617 !important; color: #fff !important; }

.vmp-pos-wrap .vmp-button-primary:disabled { opacity: .65 !important; cursor: not-allowed !important; }

.vmp-pos-wrap .vmp-button-secondary {

    border: 1px solid #cbd5e1 !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

}

.vmp-pos-wrap .vmp-button-secondary:hover { border-color: #94a3b8 !important; background: #f8fafc !important; }



.vmp-pos-wrap .vmp-response {

    min-height: 22px !important;

    margin: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 14px !important;

    font-weight: 850 !important;

}

.vmp-pos-wrap .vmp-response.is-error { color: #b91c1c !important; }

.vmp-pos-wrap .vmp-response.is-success { color: #047857 !important; }

.vmp-pos-wrap .vmp-notice { padding: 13px 15px !important; background: #f8fafc !important; border-left: 4px solid #64748b !important; color: var(--vmp-text) !important; }

.vmp-pos-wrap .vmp-notice-error { border-left-color: #b91c1c !important; }



@media (max-width: 1100px) {

    .vmp-pos-wrap .vmp-checkout-bottom { grid-template-columns: 1fr !important; }

}

@media (max-width: 760px) {

    .vmp-pos-wrap { width: min(100%, calc(100vw - 18px)) !important; margin: 12px auto !important; }

    .vmp-pos-wrap .vmp-card { padding: 18px !important; border-radius: 14px !important; }

    .vmp-pos-wrap h2 { font-size: 26px !important; }

    .vmp-pos-wrap .vmp-summary-row { grid-template-columns: 1fr !important; gap: 7px !important; }

    .vmp-pos-wrap .vmp-summary-row strong { text-align: left !important; }

    .vmp-pos-wrap .vmp-tip-input-wrap { justify-content: flex-start !important; }

    .vmp-pos-wrap .vmp-payment-methods { grid-template-columns: 1fr !important; }

}



.vmp-pos-wrap .vmp-receipt-choice {

    display: grid !important;

    gap: 8px !important;

    padding: 12px !important;

    border: 1px solid #e2e8f0 !important;

    border-radius: 14px !important;

    background: #f8fafc !important;

}

.vmp-pos-wrap .vmp-receipt-choice label {

    font-weight: 850 !important;

    color: var(--vmp-muted) !important;

    font-size: 13px !important;

}

.vmp-pos-wrap .vmp-receipt-choice select,

.vmp-pos-wrap .vmp-receipt-choice input[type="email"] {

    width: 100% !important;

    max-width: none !important;

    min-height: 42px !important;

    border-radius: 10px !important;

    border: 1px solid #cbd5e1 !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

    padding: 8px 11px !important;

    font-size: 15px !important;

    box-shadow: none !important;

}



/* POS admin settings layout */

.vmp-wrap .vmp-card{background:#fff;border:1px solid #d7e0ea;border-radius:14px;padding:22px;margin-top:16px;box-shadow:0 12px 30px rgba(15,23,42,.06);max-width:1100px}.vmp-wrap .vmp-card h2{margin:0 0 16px;color:#1d3557}.vmp-settings-tabs{position:sticky;top:32px;z-index:20;background:#f0f0f1;padding:10px 0;margin:10px 0 16px;border-bottom:1px solid #dcdcde;display:flex;gap:8px;flex-wrap:wrap}.vmp-settings-tabs a{display:inline-flex;align-items:center;border:1px solid #d7e0ea;border-radius:999px;background:#fff;color:#1d3557;font-weight:700;padding:9px 16px;text-decoration:none;box-shadow:0 2px 6px rgba(15,23,42,.04)}.vmp-settings-tabs a:hover{border-color:#2271b1;background:#f6fbff;color:#1d3557}.vmp-settings-tabs a.is-active{background:#1d3557;color:#fff;border-color:#1d3557}.vmp-settings-form .vmp-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px;margin-bottom:22px}.vmp-settings-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#1f2937}.vmp-settings-form label span{font-weight:800}.vmp-settings-form label em{font-weight:400;font-style:normal;color:#64748b;font-size:13px;line-height:1.4}.vmp-settings-form input[type=text],.vmp-settings-form input[type=url],.vmp-settings-form input[type=number],.vmp-settings-form select,.vmp-settings-form textarea{width:100%;max-width:none;border:1px solid #ccd6e0;border-radius:10px;padding:9px 12px;background:#fff;box-shadow:none}.vmp-settings-form textarea{min-height:110px}.vmp-settings-form .vmp-wide{grid-column:1/-1}.vmp-check-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px 14px;margin:8px 0 22px}.vmp-check-grid label{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid #d7e0ea;border-radius:12px;background:#f8fbff;padding:10px 12px;font-weight:700}.vmp-check-grid input{margin:0}@media(max-width:900px){.vmp-settings-form .vmp-settings-grid,.vmp-check-grid{grid-template-columns:1fr}.vmp-settings-tabs{position:static}}

.vmp-pos-wrap .vmp-line-qty{width:72px;max-width:72px;text-align:center;border:1px solid #ccd6e0;border-radius:8px;padding:7px 8px;background:#fff}.vmp-pos-wrap .vmp-extra-lines{margin-top:18px;padding-top:16px;border-top:1px solid #e5edf5}.vmp-pos-wrap .vmp-extra-lines h3{margin:0 0 4px;font-size:18px}.vmp-pos-wrap .vmp-extra-help{margin:0 0 12px;color:#64748b}.vmp-pos-wrap .vmp-extra-line{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 80px 110px auto;gap:10px;align-items:center;margin:8px 0}.vmp-pos-wrap .vmp-extra-line input,.vmp-pos-wrap .vmp-extra-line select{width:100%;border:1px solid #ccd6e0;border-radius:8px;padding:8px 10px;background:#fff;min-height:39px}.vmp-pos-wrap .vmp-remove-extra-line{border:1px solid #ef4444;color:#b91c1c;background:#fff;border-radius:8px;padding:8px 10px;font-weight:700;cursor:pointer}@media(max-width:700px){.vmp-pos-wrap .vmp-extra-line{grid-template-columns:1fr}.vmp-pos-wrap .vmp-line-qty{width:100%;max-width:100%}}

/* v2.1.10: robuste betalingsikoner uden afhængighed af emoji-billeder */
.vmp-pos-wrap .vmp-method-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    color: currentColor !important;
}
.vmp-pos-wrap .vmp-method-svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
}
.vmp-pos-wrap .vmp-method-fallback-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 24px !important;
    height: 24px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
.vmp-pos-wrap .vmp-method-icon img {
    display: none !important;
}

/* v2.1.11: betalingsside låses efter registreret betaling */
.vmp-pos-wrap.vmp-is-paid .vmp-order-table input,.vmp-pos-wrap.vmp-is-paid .vmp-extra-lines,.vmp-pos-wrap.vmp-is-paid .vmp-payment-panel,.vmp-pos-wrap.vmp-is-paid .vmp-tip-row{opacity:.55;pointer-events:none}.vmp-pos-wrap.vmp-is-paid .vmp-back-to-waiter{opacity:1!important;pointer-events:auto!important}
