textarea{font:inherit;width:100%;border:1px solid #dcd5cc;border-radius:10px;background:#fff;color:#1d293d;padding:11px 12px;min-height:110px;margin-top:6px;outline:none;resize:vertical}
textarea:focus{border-color:#ef9a73;box-shadow:0 0 0 4px rgba(232,111,58,.11)}
.full-field{grid-column:1/-1}
.event-copy{margin:28px 0}.event-copy p,.info-box p{color:#6e7684}.info-box{background:#f7f3ed;border:1px solid #e8e1d8;border-radius:12px;padding:18px;margin:22px 0}.info-box h3{margin-top:0}
.ticket-qr{width:min(300px,100%);margin:25px auto;display:grid;place-items:center}.ticket-qr svg{width:100%;height:auto}.ticket-status{text-align:center;font-weight:900;letter-spacing:.12em;padding:10px;border-radius:9px}.status-valid{background:#e9f6ed;color:#25613a}.status-used{background:#fff0e7;color:#a34720}.status-cancelled{background:#fff0eb;color:#963f25}.ticket-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.ticket-link{align-items:center;color:#17243b;text-decoration:none;border-radius:10px;padding-left:12px;padding-right:12px}.ticket-link:hover,.ticket-link:focus{background:#fff0e8;color:#d84f1f;outline:2px solid #ff5a24;outline-offset:2px}.ticket-link strong{background:#ff5a24;color:#fff;border-radius:9px;padding:9px 13px;white-space:nowrap}
.scanner-page{max-width:760px}.scanner-shell{background:#fff;border:1px solid #e8e1d8;border-radius:18px;padding:18px;box-shadow:0 16px 40px rgba(23,36,59,.09)}.scanner-camera{position:relative;overflow:hidden;background:#10151d;border-radius:15px;aspect-ratio:3/4;max-height:62vh;display:grid;place-items:center}.scanner-camera video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;width:72%;aspect-ratio:1;border:4px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}.scanner-camera p{position:absolute;left:20px;right:20px;bottom:18px;margin:0;background:rgba(0,0,0,.72);color:#fff;padding:10px 12px;border-radius:9px;text-align:center}.scanner-result{margin:16px 0;padding:18px;border-radius:14px;display:grid;gap:4px;text-align:center}.scanner-result strong{font-size:1.6rem}.scanner-result.waiting{background:#eef2f6;color:#24334a}.scanner-result.accepted{background:#daf4e2;color:#155c2c}.scanner-result.used,.scanner-result.cancelled,.scanner-result.invalid,.scanner-result.error{background:#ffe3da;color:#8c2c16}.scanner-controls{display:flex;gap:12px;justify-content:center}.scanner-controls button{min-width:140px}@media(max-width:560px){.scanner-shell{padding:10px}.scanner-camera{max-height:58vh}.scanner-result strong{font-size:1.35rem}}
@media print{.site-header,footer,.ticket-actions,.approval,.back,.notice,.alert{display:none!important}body{background:#fff}.dashboard{padding:0}.printable-ticket{box-shadow:none!important;border:0!important;max-width:700px}.ticket-page .event-detail{margin:0 auto}}
.legal-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;line-height:1.45;margin:14px 0}.legal-check input{width:18px!important;height:18px;margin:2px 0 0!important;flex:0 0 auto}.legal-check a{color:#d84f1f}.legal-page{max-width:900px;padding-top:64px;padding-bottom:80px}.legal-page h1{font-size:clamp(2.2rem,5vw,4.5rem);margin:.15em 0}.legal-page section{background:#fff;border:1px solid #e8e1d8;border-radius:14px;padding:22px 26px;margin:18px 0}.legal-page section h2{margin-top:0;font-size:1.35rem}.legal-page section p{color:#566174;line-height:1.75;margin-bottom:0}.legal-meta{color:#6e7684}.legal-note{background:#fff0e8;border-left:5px solid #ff5a24;border-radius:10px;padding:16px 18px;margin:24px 0;line-height:1.55}.legal-metrics{margin-top:0}footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.legal-page{padding-top:36px}.legal-page section{padding:18px}.legal-page h1{font-size:2.4rem}}
.report-panel{overflow-x:auto}.report-grid{display:grid;grid-template-columns:1.2fr 1.5fr .75fr .85fr .9fr 1.3fr;gap:14px;align-items:start;min-width:920px;padding:16px 8px;border-bottom:1px solid #ebe5dc}.report-grid>div{overflow-wrap:anywhere}.report-grid small{display:block;color:#6e7684;margin-top:5px}.report-head{color:#6e7684;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.refund-form{margin-top:10px}.refund-form .legal-check{font-size:.82rem;margin:7px 0}.refund-form button{font-size:.78rem;padding:8px 10px}
/* Event cards always reserve a 16:9 image area. These rules intentionally
   override older cached card styles so portrait posters cannot cover details. */
.event-card{display:flex!important;flex-direction:column!important;min-width:0}
.event-image{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;overflow:hidden!important;flex:0 0 auto!important}
.event-image img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important}
.event-body{position:relative!important;z-index:2!important;background:var(--paper,#fffdf9)!important;flex:1 1 auto!important;padding:21px!important}
.image-guidance{display:block;color:#6e7684;font-weight:500;line-height:1.45;margin-top:8px}
.owner-event-controls{margin-top:-70px;margin-bottom:90px;max-width:820px}.owner-control-actions{display:grid;gap:14px}.owner-control-actions form{border-top:1px solid #e8e1d8;padding-top:14px}.danger-zone{background:#fff0eb;border:1px solid #efcabe!important;border-radius:12px;padding:16px!important}.danger-button{background:#a83b27!important;border-color:#a83b27!important}.danger-button:hover{background:#842b1c!important}.owner-event-controls h2{margin:6px 0}.owner-event-controls .muted{line-height:1.6}
.scanner-team{padding-bottom:90px}.scanner-team>.dash-heading{margin-top:-55px}.scanner-team>.dash-heading h2{margin:6px 0}.scanner-employee{border-top:1px solid #e8e1d8;padding:18px 0}.employee-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.employee-heading h3,.employee-heading p{margin:0 0 5px}.assignment-form{background:#f7f3ed;border:1px solid #e8e1d8;border-radius:12px;padding:14px;margin:12px 0}.assignment-list{display:grid;gap:5px;margin:10px 0}.assignment-list label{display:flex;gap:9px;align-items:flex-start;margin:0;font-weight:600}.assignment-list input{width:17px;height:17px;min-height:0;margin:2px 0 0}.assigned-events{background:#fff;border:1px solid #e8e1d8;border-radius:14px;padding:18px;margin-bottom:16px}.assigned-events h2{font-size:1.2rem;margin-top:0}.assigned-events ul{list-style:none;padding:0;margin:0}.assigned-events li{display:grid;padding:10px 0;border-top:1px solid #e8e1d8}.assigned-events li:first-child{border-top:0}.assigned-events span{color:#6e7684;font-size:.82rem}.alert-inline{background:#fff0eb;color:#963f25;border:1px solid #f1d4ca;border-radius:10px;padding:12px;line-height:1.5}
