@import url('app.css');
body.booking-page,body.ticket-page{min-height:100vh;background:radial-gradient(circle at 15% 5%,#6a164f,transparent 30%),radial-gradient(circle at 88% 18%,#7b301b,transparent 27%),linear-gradient(145deg,#160412,#08020a);padding:24px}.booking-card,.scanner-card{max-width:620px;margin:3vh auto;border:1px solid #f6c86e55;box-shadow:0 30px 90px #0009;background:linear-gradient(145deg,#fff,#fff8ed);position:relative}.booking-card>img,.scanner-card>img{width:118px}.back,.text-link{display:block;color:#7f174c;text-decoration:none;font-weight:800;margin-bottom:12px}.eyebrow{display:block;text-align:center;color:#a46119;font-size:11px;font-weight:900;letter-spacing:.18em}.booking-card h1,.scanner-card h1{text-align:center;font-size:clamp(28px,6vw,42px);line-height:1.1}.selected-slot{background:linear-gradient(120deg,#26091f,#4c1233);color:#fff;padding:18px 20px;border-radius:15px;margin:22px 0;display:flex;flex-direction:column}.selected-slot small{color:#f6c86e}.selected-slot b{font-size:20px}.selected-slot span{color:#ffb8d3}.secure-note{margin-top:22px;padding:14px;text-align:center;border-radius:12px;background:#f4e8d9;color:#6d5260;font-size:12px}.otp-input{text-align:center;font-size:28px;letter-spacing:.28em;font-weight:900}.status-card{text-align:center}.status-icon{margin:15px auto;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#ffdbda;color:#a10b25;font-size:32px;font-weight:900}.staff-bar{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;background:#f2e9da}.staff-bar b{flex:1}.staff-bar a{color:#8b1c4e}.scan-result{margin-top:18px;padding:20px;border-radius:14px;display:flex;flex-direction:column;text-align:center}.scan-result strong{font-size:25px}.scan-result.accepted{background:#d7ffe2;color:#075b2b}.scan-result.rejected{background:#ffe0e0;color:#8f1024}.scan-result.waiting{background:#fff0c7}.ticket-page{display:grid;place-items:center}.ticket-shell{width:min(680px,100%);background:#fff8ed;color:#28132d;border-radius:28px;overflow:hidden;box-shadow:0 35px 110px #000b;border:1px solid #f6c86e66}.ticket-head{padding:22px 28px;display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#26091f,#5d1740);color:white}.ticket-head img{width:82px;height:82px;object-fit:contain;border-radius:50%;background:white}.ticket-head span{color:#f6c86e;font-size:9px;letter-spacing:.16em}.ticket-head h1{margin:5px 0;font-size:24px}.ticket-body{text-align:center;padding:30px}.confirmed{display:inline-block;padding:8px 13px;border-radius:30px;background:#d8ffe1;color:#087137;font-size:11px;font-weight:900;letter-spacing:.12em}.ticket-body h2{font-size:34px;margin:16px 0 2px}.slot-label{font-weight:800;color:#8a315d}.ticket-body #qr{width:250px;min-height:250px;padding:10px;background:#fff;margin:20px auto 10px;border:1px solid #eee;display:grid;place-items:center}.ticket-body code{display:block;margin:7px auto 20px;font-size:11px;word-break:break-all}.ticket-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px dashed #c9acbb;border-bottom:1px dashed #c9acbb;padding:18px 0}.ticket-facts div{display:flex;flex-direction:column}.ticket-facts small{color:#8d7581}.ticket-note{color:#7a6670;font-size:13px}.text-link{margin-top:16px}.print-btn{width:100%}@media(max-width:600px){body.booking-page,body.ticket-page{padding:10px}.panel{padding:22px 18px}.ticket-head{padding:18px}.ticket-head img{width:65px;height:65px}.ticket-head h1{font-size:19px}.ticket-body{padding:22px 14px}.ticket-facts{gap:7px}.ticket-facts b{font-size:11px}}@media print{body.ticket-page{padding:0;background:white}.ticket-shell{box-shadow:none;border:1px solid #bbb}.print-btn,.text-link{display:none}}
.member-card{border:1px solid #d7b78b;border-radius:16px;padding:16px;margin:18px 0;background:#fffaf1}.member-card legend{padding:0 8px;color:#8b1c4e;font-weight:900}.member-card select,.booking-card>form>select{width:100%;padding:13px;border:1px solid #d7c7ce;border-radius:10px;background:#fff;font:inherit}.payment-qr{width:280px;min-height:280px;margin:20px auto;padding:10px;background:#fff;display:grid;place-items:center}.amount-note,.payment-success,.payment-wait{text-align:center;padding:18px;border-radius:14px;background:#fff0c7}.payment-success{background:#d7ffe2;color:#075b2b}.upi-open{text-align:center;display:block;text-decoration:none;margin-bottom:16px}.attendee-list{margin:18px 0;text-align:left;border:1px solid #e1cad5;border-radius:14px;overflow:hidden}.attendee-list h3{margin:0;padding:12px 15px;background:#3c0b2d;color:#f6c86e}.attendee-list div{padding:11px 15px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eadde4}.attendee-list span{font-size:12px;color:#765c69}@media(max-width:600px){.attendee-list div{flex-direction:column;gap:3px}}
.pay-amount-lock{margin:20px 0;padding:18px;text-align:center;border:1px solid #f1be54;border-radius:18px;background:linear-gradient(135deg,#3c0b2d,#8b1c4e);color:#fff;box-shadow:0 12px 30px rgba(60,11,45,.2)}.pay-amount-lock small,.pay-amount-lock span{display:block}.pay-amount-lock strong{display:block;margin:4px 0;font-size:48px;line-height:1;color:#ffd978}.payee-line{display:flex;justify-content:space-between;gap:16px;margin:14px 0;padding:12px 14px;border-radius:12px;background:#fff7e7}.payee-line span{color:#765c69}.qr-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 12px}.qr-switch button{padding:12px 8px;border:1px solid #d7b78b;border-radius:12px;background:#fff;color:#3c0b2d;font:inherit;font-weight:800;cursor:pointer}.qr-switch button.active{background:#3c0b2d;color:#ffd978;border-color:#3c0b2d}.merchant-qr{display:none;text-align:center}.merchant-qr.active{display:block}.merchant-qr img{display:block;width:min(100%,430px);max-height:600px;object-fit:contain;margin:0 auto;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(41,6,31,.18)}.merchant-qr p{margin:10px 0 16px;color:#604653}@media(max-width:600px){.payee-line{flex-direction:column;gap:4px}.merchant-qr img{max-height:480px}}
.pass-free-lock{margin:18px 0 10px;padding:16px;text-align:center;border:2px solid #16874a;border-radius:18px;background:#e7fff0;color:#075b2b}.pass-free-lock span,.pass-free-lock small{display:block}.pass-free-lock span{font-size:11px;font-weight:900;letter-spacing:.18em}.pass-free-lock strong{display:block;font-size:38px;line-height:1.1}.pass-free-lock small{color:#356a49}.pass-free-lock+.pay-amount-lock{margin-top:10px}
.payment-declaration{display:flex!important;gap:10px;align-items:flex-start;text-align:left;font-size:.9rem;line-height:1.45}.payment-declaration input{width:20px!important;height:20px;margin-top:2px;flex:0 0 auto}
