
.cosy-epqr-checkin-wrapper{
    max-width:760px;
    margin:24px auto;
    padding:24px;
    border:1px solid #e5e7eb;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 35px rgba(15,23,42,.08);
    font-family:Arial,sans-serif;
}
.cosy-epqr-checkin-wrapper h2{margin:0 0 8px;font-size:28px;}
.cosy-epqr-checkin-form{display:flex;gap:12px;align-items:center;margin-top:16px;}
.cosy-epqr-checkin-form input{flex:1;min-height:54px;font-size:20px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:12px;}
.cosy-epqr-checkin-form button{min-height:54px;padding:0 20px;border:0;border-radius:12px;background:#111827;color:#fff;font-weight:700;font-size:16px;}
.cosy-epqr-result{margin-top:18px;padding:18px;border-radius:14px;border:1px solid #e5e7eb;background:#f8fafc;}
.cosy-epqr-result.ok{background:#ecfdf5;border-color:#86efac;color:#166534;}
.cosy-epqr-result.used{background:#fffbeb;border-color:#fcd34d;color:#92400e;}
.cosy-epqr-result.wrong,.cosy-epqr-result.invalid{background:#fef2f2;border-color:#fca5a5;color:#991b1b;}
@media(max-width:640px){.cosy-epqr-checkin-form{display:block}.cosy-epqr-checkin-form button{width:100%;margin-top:10px}}


.cosy-epqr-cart-guests input[type="text"],
.cosy-epqr-cart-guests input[type="email"],
.cosy-epqr-cart-guests input[type="tel"]{
    width:100%;
    max-width:520px;
}
.cosy-epqr-single-event-notice{
    margin-bottom:16px;
}


.woocommerce-cart-form .product-quantity .cosy-epqr-ticket-qty-display{
    display:inline-block;
    min-width:36px;
    padding:6px 10px;
    border-radius:999px;
    background:#f3f4f6;
    font-weight:700;
    text-align:center;
}


.cosy-epqr-cart-guests .cosy-epqr-event-group{
    margin:14px 0;
    padding:14px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fafafa;
}
.cosy-epqr-cart-guests .cosy-epqr-guest-row{
    padding:10px;
    margin:8px 0;
    border-top:1px dashed #d1d5db;
}
.cosy-epqr-cart-guests .cosy-epqr-mini-button{
    padding:6px 12px !important;
    min-height:auto !important;
    line-height:1.2 !important;
    border-radius:999px !important;
    font-size:13px !important;
    margin-right:6px !important;
}
.cosy-epqr-cart-guests .cosy-epqr-action-row{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    align-items:center;
}
form.cart .quantity{
    display:none!important;
}


.cosy-epqr-result{
    margin:18px 0;
    padding:20px;
    border-radius:16px;
    font-size:18px;
    line-height:1.45;
    border:2px solid #d1d5db;
}
.cosy-epqr-result h3{
    margin:0 0 8px 0;
    font-size:28px;
    line-height:1.15;
    font-weight:800;
}
.cosy-epqr-result.ok{
    color:#065f46 !important;
    background:#dcfce7 !important;
    border-color:#16a34a !important;
}
.cosy-epqr-result.used{
    color:#7f1d1d !important;
    background:#fee2e2 !important;
    border-color:#dc2626 !important;
}
.cosy-epqr-result.wrong,
.cosy-epqr-result.invalid{
    color:#7c2d12 !important;
    background:#ffedd5 !important;
    border-color:#f97316 !important;
}
.cosy-epqr-checkin-wrapper{
    max-width:760px;
    margin:0 auto;
    padding:24px;
}
.cosy-epqr-checkin-form input[type="text"]{
    width:100%;
    font-size:28px;
    padding:18px;
    border-radius:14px;
    margin-bottom:14px;
}
.cosy-epqr-checkin-form button{
    width:100%;
    font-size:24px;
    font-weight:800;
    padding:18px;
    border-radius:14px;
}


.cosy-epqr-cart-guests{
    margin:18px 0;
    padding:18px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#fff;
}
.cosy-epqr-cart-guests h3{
    margin:0 0 12px 0;
    font-size:24px;
    line-height:1.2;
}
.cosy-epqr-event-group h4{
    margin:0 0 10px 0;
    font-size:17px;
}
.cosy-epqr-ticket-line{
    margin:6px 0 12px 0;
}
.cosy-epqr-guest-row{
    padding:12px;
    margin:12px 0;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fafafa;
}
.cosy-epqr-guest-row h5{
    margin:0 0 8px 0;
    font-size:16px;
}
.cosy-epqr-field{
    margin:8px 0;
}
.cosy-epqr-field input{
    width:100%;
    max-width:520px;
}
.cosy-epqr-action-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    margin-top:12px;
}
.cosy-epqr-mini-button{
    padding:8px 14px !important;
    min-height:auto !important;
    line-height:1.2 !important;
    border-radius:8px !important;
    font-size:13px !important;
    font-weight:700 !important;
}
.cosy-epqr-checkout-button{
    background:#5b2a86 !important;
    border-color:#5b2a86 !important;
    color:#fff !important;
}
.cosy-epqr-remove-button{
    background:#f8fafc !important;
    color:#991b1b !important;
    border-color:#fecaca !important;
}
.cosy-epqr-small-note{
    margin:12px 0 0 0;
    font-size:12px;
    color:#6b7280;
}
@media (max-width: 640px){
    .cosy-epqr-action-row .button{
        width:100%;
        text-align:center;
    }
}


/* v1.6.1 check-in screen */
.cosy-epqr-checkin-wrapper{
    max-width:760px;
    margin:24px auto;
    padding:22px;
    font-family:Arial, sans-serif;
}
.cosy-epqr-checkin-header{
    margin-bottom:18px;
}
.cosy-epqr-checkin-kicker{
    color:#5b2a86;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    font-size:13px;
    margin-bottom:6px;
}
.cosy-epqr-checkin-header h2{
    margin:0 0 8px 0;
    color:#111827;
    font-size:34px;
    line-height:1.1;
}
.cosy-epqr-checkin-header p{
    margin:0;
    color:#4b5563;
    font-size:18px;
    line-height:1.45;
}
.cosy-epqr-result{
    margin:18px 0;
    padding:24px;
    border-radius:20px;
    border:3px solid #d1d5db;
    background:#f9fafb;
    color:#111827;
}
.cosy-epqr-result.loading{
    border-color:#94a3b8;
    background:#f8fafc;
}
.cosy-epqr-result.ok{
    background:#dcfce7!important;
    border-color:#16a34a!important;
    color:#064e3b!important;
}
.cosy-epqr-result.used{
    background:#fee2e2!important;
    border-color:#dc2626!important;
    color:#7f1d1d!important;
}
.cosy-epqr-result.wrong,
.cosy-epqr-result.invalid{
    background:#ffedd5!important;
    border-color:#f97316!important;
    color:#7c2d12!important;
}
.cosy-epqr-status-label{
    font-size:34px;
    line-height:1.05;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:18px;
}
.cosy-epqr-checkin-details{
    display:grid;
    gap:12px;
}
.cosy-epqr-checkin-details div{
    padding:12px 14px;
    border-radius:12px;
    background:rgba(255,255,255,.72);
}
.cosy-epqr-checkin-details span{
    display:block;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.74;
    margin-bottom:4px;
}
.cosy-epqr-checkin-details strong{
    display:block;
    font-size:22px;
    line-height:1.2;
}
.cosy-epqr-checkin-form{
    margin-top:20px;
    padding:18px;
    border:1px solid #e5e7eb;
    border-radius:16px;
    background:#ffffff;
}
.cosy-epqr-checkin-form label{
    display:block;
    margin-bottom:8px;
    font-weight:800;
    color:#111827;
}
.cosy-epqr-checkin-form input[type="text"]{
    width:100%;
    box-sizing:border-box;
    font-size:28px;
    padding:16px;
    border:2px solid #d1d5db;
    border-radius:14px;
    margin-bottom:14px;
}
.cosy-epqr-checkin-form button{
    width:100%;
    font-size:24px;
    font-weight:900;
    padding:18px;
    border-radius:14px;
    border:0;
    background:#111827;
    color:#fff;
}
@media (max-width:640px){
    .cosy-epqr-checkin-wrapper{
        margin:8px auto;
        padding:16px;
    }
    .cosy-epqr-checkin-header h2{
        font-size:30px;
    }
    .cosy-epqr-status-label{
        font-size:30px;
    }
    .cosy-epqr-checkin-details strong{
        font-size:20px;
    }
}


/* v1.6.5 check-in confirmation + audit */
.cosy-epqr-result.preview{
    background:#dcfce7!important;
    border-color:#16a34a!important;
    color:#064e3b!important;
}
.cosy-epqr-confirm-checkin{
    width:100%;
    margin-top:18px;
    padding:18px 20px;
    border:0;
    border-radius:14px;
    background:#16a34a;
    color:#ffffff;
    font-size:24px;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
}
.cosy-epqr-result.used .cosy-epqr-confirm-checkin,
.cosy-epqr-result.invalid .cosy-epqr-confirm-checkin,
.cosy-epqr-result.wrong .cosy-epqr-confirm-checkin{
    display:none;
}
