*{box-sizing:border-box}body{margin:0;background:#edf3f9;color:#153354;font:17px/1.45 Arial,sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#164b83;color:#fff;padding:15px 5%}header a{color:#fff;text-decoration:none}main{max-width:1000px;margin:22px auto;padding:0 16px}.panel{background:#fff;border:1px solid #bdcad8;border-radius:14px;padding:20px;margin:18px 0}h1,h2{color:#174b86}h1{font-size:25px}h2{font-size:21px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}label{display:block;font-weight:700}input,select,button,.button{font:inherit}input:not([type=checkbox]),select{padding:11px;border:1px solid #8f9fae;border-radius:7px;max-width:100%;min-height:46px;width:100%}.field{flex:1;min-width:200px}button,.button{display:inline-block;border:0;border-radius:8px;padding:11px 18px;background:#1759a0;color:white;text-decoration:none;cursor:pointer;margin:4px 0}.green{background:#168348}.red{background:#bd2037}button:disabled{opacity:.5;cursor:not-allowed}.muted{color:#53667b;font-size:15px}.notice{padding:12px;border-radius:8px;background:#e6eff8;white-space:pre-wrap}.error{color:#a7132b;background:#fff0f0}.success{color:#116533;background:#eaf8ec}[hidden]{display:none!important}.ticket{max-width:460px;margin:20px auto;border:2px solid #174b86;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 4px 15px #22384d18;padding:20px 22px}.ticket-logo{display:block;max-width:280px;width:75%;height:145px;object-fit:contain;margin:0 auto 10px}.ticket h2{text-align:center;font-size:18px;border-top:1px solid #b3c5da;border-bottom:1px solid #b3c5da;padding:12px 0;letter-spacing:1px}.ticket h3{font-size:28px;text-align:center;color:#10376b;margin:12px 0}.badge{text-align:center;font-weight:700;border-radius:9px;padding:12px;margin:12px 0}.ticket dl{margin:0}.ticket dt{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#586d86;margin-top:12px}.ticket dd{font-size:20px;font-weight:700;margin:0;padding-bottom:10px;border-bottom:1px solid #e0e7ef;overflow-wrap:anywhere}.ticket .money{font-size:25px}.ticket svg{display:block;width:100%;height:auto;background:white}.ticket-ref{text-align:center;font:12px monospace;overflow-wrap:anywhere}.admit{text-align:center;font-weight:700;font-size:22px}.ticket-actions{text-align:center}.attendee{display:flex;align-items:start;gap:12px;border-bottom:1px solid #d7e1eb;padding:13px 0}.attendee input{width:22px;height:22px;flex:none}.attendee small{display:block;font-weight:400}.results button{display:block;width:100%;text-align:left;background:#edf4fc;color:#153354;border:1px solid #bdcad8}.video{display:block;width:100%;max-height:300px;background:#111;margin:12px 0;border-radius:8px}pre{white-space:pre-wrap}.ticket-status{text-align:center}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:760px){.two{display:block}.ticket{padding:15px}.ticket-logo{height:125px}}@media print{body{background:#fff}body>*{display:none!important}body>#print-ticket{display:block!important;margin:0 auto;max-width:110mm}.ticket{box-shadow:none;margin:0;break-inside:avoid;max-width:110mm}.ticket-actions{display:none}.ticket-status{display:none}a{color:inherit}svg{print-color-adjust:exact}.ticket{print-color-adjust:exact}} 

/* Compact staff result: one card on a phone, with party checkboxes below its summary. */
.mobile-ticket-summary{display:none}
@media screen and (max-width:760px){
 .ticket-desk #work>div:first-child{display:none}
 .ticket-desk #scanned-ticket{padding:16px;border:1px solid #174b86;border-radius:14px;outline:none}
 .ticket-desk .mobile-ticket-summary{display:block;border-bottom:1px solid #c9d7e6;padding-bottom:12px;margin-bottom:12px}
 .mobile-ticket-summary img{display:block;width:145px;height:94px;object-fit:contain;margin:0 auto 8px}
 .mobile-ticket-summary h2{text-align:center;font-size:23px;margin:5px 0 10px}
 .mobile-ticket-summary p{margin:5px 0;font-size:15px;overflow-wrap:anywhere}
 .mobile-ticket-summary .mobile-ref{font:13px/1.5 monospace;background:#edf4fc;padding:9px;border-radius:7px;overflow-wrap:anywhere}
 .mobile-ticket-summary .badge{margin:9px 0;font-size:18px}
 .ticket-desk #scanned-ticket>h2{font-size:19px;margin:10px 0}
 .ticket-desk #entry-warning{font-size:15px;padding:10px}
 .ticket-desk .attendee{font-size:17px;gap:10px;padding:12px 0}
 .ticket-desk .attendee span{min-width:0;overflow-wrap:anywhere}
 .ticket-desk #confirm-entry{width:100%;font-size:16px;padding:14px 10px}
 .ticket-desk main{padding:0 10px}
 .ticket-desk .panel{padding:15px}
 .ticket-desk #manage-panel{margin-top:12px}
}

.mobile-ticket-tools{display:none}
.ticket-desk #scanned-ticket #manage-panel{box-shadow:none;border:0;border-top:1px solid #ccd9e8;padding:12px 0 0;margin-bottom:0;border-radius:0}
@media screen and (max-width:760px){.mobile-ticket-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.mobile-ticket-tools button{font-size:14px;padding:10px;flex:1}}
