* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #f4f6f8;
    color: #1f2933;
}

.page {
    max-width: 980px;
    margin: 0 auto;
    padding: 32px 16px;
}

.header { margin-bottom: 24px; }

.badge {
    display: inline-block;
    padding: 6px 12px;
    background: #d71920;
    color: #fff;
    border-radius: 999px;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 12px;
}

.badge.success { background: #15803d; }

h1 { margin: 0 0 8px; font-size: 32px; }
h2 { margin: 0 0 16px; font-size: 22px; color: #d71920; }
h3 { margin-top: 28px; margin-bottom: 14px; }
h4 { margin: 0; }

.card,
.match-box,
.description,
.prices,
.payment-box {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}

.inline-box { box-shadow: none; border: 1px solid #e5e7eb; }
.match-box { margin-bottom: 16px; }
.match-box p { margin: 6px 0; }
.description { line-height: 1.5; margin-bottom: 16px; }

.prices { display: flex; gap: 16px; margin-bottom: 16px; }
.prices div { flex: 1; border: 1px solid #e5e7eb; padding: 16px; border-radius: 10px; }
.prices span { display: block; margin-top: 6px; font-size: 24px; color: #d71920; font-weight: bold; }

.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field { margin-bottom: 16px; }
label { display: block; margin-bottom: 6px; font-weight: bold; font-size: 14px; }

input,
textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 11px 12px;
    font-size: 15px;
    background: #fff;
}

textarea { resize: vertical; }

.note { background: #f8fafc; border-left: 4px solid #d71920; padding: 12px 14px; border-radius: 8px; color: #475569; }

.ticket-card { border: 1px solid #e5e7eb; background: #fafafa; border-radius: 12px; padding: 16px; margin-bottom: 16px; }
.ticket-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.remove { border: 0; background: #fee2e2; color: #991b1b; border-radius: 8px; padding: 8px 10px; cursor: pointer; }
.ticket-price { margin-top: 4px; font-size: 15px; }
.ticket-price strong { color: #d71920; }

.summary { display: flex; justify-content: space-between; gap: 16px; margin: 24px 0; padding: 18px; background: #f8fafc; border-radius: 12px; border: 1px solid #e5e7eb; }
.summary span { display: block; margin-top: 4px; font-size: 24px; color: #d71920; font-weight: bold; }
.big-total span { font-size: 30px; }

.payment-box { margin: 24px 0; }
.payment-active { border: 2px solid #d71920; text-align: center; }
.success-box { background: #ecfdf5; border: 1px solid #bbf7d0; }
.qr-wrapper { display: flex; justify-content: center; margin: 18px 0; }
.qr { max-width: 260px; width: 100%; border: 1px solid #e5e7eb; border-radius: 14px; padding: 12px; background: #fff; }
.payment-amount { font-size: 22px; }
.payment-amount strong { color: #d71920; font-size: 30px; }

.btn { display: inline-block; border: 0; text-decoration: none; border-radius: 10px; padding: 13px 18px; font-size: 15px; font-weight: bold; cursor: pointer; margin-right: 8px; }
.btn.primary { background: #d71920; color: #fff; }
.btn.secondary { background: #e5e7eb; color: #111827; }
.big-button { font-size: 18px; padding: 16px 24px; }

.success-code { padding: 16px; background: #ecfdf5; border: 1px solid #bbf7d0; color: #166534; border-radius: 10px; margin: 18px 0; }

table { width: 100%; border-collapse: collapse; margin: 16px 0; background: #fff; }
th, td { border-bottom: 1px solid #e5e7eb; text-align: left; padding: 10px; font-size: 14px; }
th { background: #f8fafc; }

@media (max-width: 700px) {
    .grid, .prices, .summary { grid-template-columns: 1fr; flex-direction: column; }
    h1 { font-size: 26px; }
    table { display: block; overflow-x: auto; font-size: 13px; }
    .btn { width: 100%; text-align: center; margin: 6px 0; }
}

.payment-link {
    margin-top: 8px;
}
