:root{
  --ink:#12141a;--muted:#69707d;--line:#e6e8ec;--surface:#fff;--canvas:#f5f6f8;
  --accent:#5b38f2;--accent-dark:#4024c9;--success:#0c9b67;--danger:#d73c4c;--warning:#d98312;
  --shadow:0 24px 70px rgba(20,24,36,.10);--radius:18px;--radius-sm:12px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}button{cursor:pointer}.public-body{background:#fff}.admin-body{background:var(--canvas)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;border-radius:999px;padding:.85rem 1.25rem;font-weight:760;transition:.18s ease;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--accent);color:#fff;box-shadow:0 10px 25px rgba(91,56,242,.24)}.button.primary:hover{background:var(--accent-dark)}.button.secondary{background:#fff;border:1px solid var(--line)}.button.full{width:100%;margin-top:1rem}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-row{display:flex;gap:.75rem;justify-content:flex-end;margin:0 0 1rem;flex-wrap:wrap}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:820;color:var(--accent);margin-bottom:.55rem}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.42rem .7rem;font-size:.75rem;font-weight:780}.badge.success{background:#e5f7f0;color:#07764e}.badge.neutral{background:#eeeafe;color:#5333d9}.badge.muted{background:#eceef1;color:#68707c}.badge.danger{background:#fff0f2;color:var(--danger)}.alert{padding:1rem 1.1rem;border-radius:12px;margin-bottom:1rem}.alert.error{background:#fff0f2;color:#9f2533;border:1px solid #ffd5da}.alert.success{background:#eaf8f2;color:#08764e;border:1px solid #c9eddf}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;box-shadow:0 8px 35px rgba(25,30,42,.04)}
/* Public event page */
.event-hero{min-height:500px;background:#171929 center/cover no-repeat;color:#fff;display:flex;align-items:flex-end}.event-hero-inner{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:5rem 0 4rem;position:relative}.event-organizer{display:inline-block;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;opacity:.78;margin-bottom:1rem}.event-hero h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.94;max-width:880px;letter-spacing:-.055em;margin:0 0 1.65rem}.event-meta{display:flex;gap:1.4rem;flex-wrap:wrap;font-weight:640;opacity:.95}.event-meta span{display:flex;align-items:center;gap:.45rem}.share-button{position:absolute;right:0;bottom:4rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(12px);color:#fff;border-radius:999px;padding:.8rem 1.1rem;font-weight:760}.shop-layout{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:3rem;padding:4.5rem 0 7rem}.shop-content{min-width:0}.section-heading{margin-bottom:1.35rem}.section-heading h2{font-size:2rem;letter-spacing:-.035em;margin:0}.tickets-heading{margin-top:3.5rem}.event-description{font-size:1.13rem;line-height:1.75;color:#343843;max-width:780px;white-space:pre-wrap}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.photo-grid img{width:100%;height:220px;object-fit:cover;border-radius:16px}.event-summary{position:sticky;top:2rem;height:max-content;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}.event-summary h3{font-size:1.25rem}.event-summary dl{margin:0}.event-summary dl>div{padding:1rem 0;border-top:1px solid var(--line)}.event-summary dt{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;font-weight:760}.event-summary dd{margin:.35rem 0 0;font-weight:650;line-height:1.4}.ticket-option{display:flex;justify-content:space-between;gap:1.2rem;align-items:center;border:1px solid var(--line);border-radius:16px;padding:1.25rem;margin-bottom:.85rem;transition:.2s ease;background:#fff}.ticket-option:hover{border-color:#c9c4f9;box-shadow:0 10px 25px rgba(38,31,92,.06)}.ticket-option.sold-out{background:#fafafa;color:#858b95}.ticket-copy{min-width:0}.ticket-title-line{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.ticket-title-line h3{margin:0;font-size:1.12rem}.ticket-copy p{margin:.5rem 0;color:var(--muted);line-height:1.5}.ticket-price{display:flex;gap:.5rem;align-items:baseline;margin-top:.7rem}.ticket-price strong{font-size:1.08rem}.ticket-price span{color:var(--muted);font-size:.8rem}.stepper{display:grid;grid-template-columns:38px 38px 38px;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;flex:none}.stepper button{border:0;background:#f6f6f8;height:38px;font-size:1.25rem}.stepper button:hover:not(:disabled){background:#ece9ff;color:var(--accent)}.stepper output{text-align:center;font-weight:800}.order-bar{position:sticky;bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#171925;color:#fff;border-radius:18px;padding:1rem 1rem 1rem 1.25rem;margin-top:1.5rem;box-shadow:0 22px 45px rgba(12,14,25,.28)}.order-bar>div{display:grid}.order-bar span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.order-bar strong{font-size:1.35rem}.order-bar small{opacity:.65}.empty-state{text-align:center;padding:3rem;color:var(--muted)}.empty-state h3{color:var(--ink)}
/* Checkout */
.checkout-header{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2rem;border-bottom:1px solid var(--line);background:#fff}.back-link{color:var(--muted);font-weight:700}.checkout-wrap{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:3rem 0 6rem}.checkout-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0 auto 2.2rem;max-width:620px}.checkout-steps li{position:relative;text-align:center;color:#a0a5ae;font-size:.78rem;font-weight:760}.checkout-steps li:before{content:"";position:absolute;top:15px;left:0;right:0;height:2px;background:#e7e8ec;z-index:-1}.checkout-steps li:first-child:before{left:50%}.checkout-steps li:last-child:before{right:50%}.checkout-steps span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;margin:0 auto .45rem;background:#e7e8ec;color:#838895}.checkout-steps li.active{color:var(--ink)}.checkout-steps li.active span{background:var(--accent);color:#fff}.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.5rem;align-items:start}.checkout-grid h1{font-size:2rem;letter-spacing:-.035em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.45rem}.field label,.field-label{font-weight:740;font-size:.88rem}.field input,.field textarea,.field select,.search-bar input{width:100%;border:1px solid #d9dce2;background:#fff;border-radius:11px;padding:.82rem .9rem;outline:none}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.search-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,56,242,.1)}.field small{color:var(--muted);font-weight:500;line-height:1.4}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;margin-top:.4rem}.cart-summary{background:#171925;color:#fff;border-radius:var(--radius);padding:1.3rem;position:sticky;top:1rem}.cart-summary h3{margin-bottom:1.2rem}.summary-line,.summary-total{display:flex;justify-content:space-between;gap:1rem;padding:.68rem 0}.summary-line{border-bottom:1px solid rgba(255,255,255,.09)}.summary-line.subdued{opacity:.66}.summary-total{font-size:1.15rem;padding-top:1rem}.review-block{padding:1rem 0;border-top:1px solid var(--line)}.review-block p{display:flex;justify-content:space-between;gap:1rem;margin:.55rem 0;color:#3d424d}.review-block small{color:var(--muted)}.payment-method{display:flex;align-items:center;gap:.8rem;border:1px solid #cfc9ff;background:#f6f4ff;border-radius:14px;padding:1rem}.payment-method input{accent-color:var(--accent)}.payment-method span{display:grid;gap:.2rem}.payment-method small{color:var(--muted)}.review-answer{display:grid;gap:.18rem;margin:.7rem 0}.review-answer small{display:block}.review-answer span{color:#3d424d}.checkout-legal{font-size:.82rem;line-height:1.5;color:var(--muted);margin:1rem 0}.checkout-legal a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.legal-page{min-height:55vh}
/* Success and ticket */
.success-wrap{max-width:760px;margin:0 auto;padding:6rem 1.25rem;text-align:center}.success-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e4f8ef;color:var(--success);font-size:2rem;font-weight:900;margin:0 auto 1.5rem}.success-wrap h1{font-size:clamp(2.3rem,6vw,4.2rem);letter-spacing:-.055em;line-height:1}.success-wrap>p{color:var(--muted);font-size:1.05rem;line-height:1.6}.success-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:2rem 0}.success-tickets{text-align:left;margin-top:3rem}.success-tickets>a{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:14px;margin:.6rem 0}.success-tickets>a:hover{border-color:#c7c0ff}.success-tickets>a span{color:var(--muted);font-size:.82rem}.ticket-page{min-height:100vh;background:#eceef3;padding:3rem 1.25rem}.digital-ticket{max-width:900px;margin:0 auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.ticket-banner{min-height:300px;background:#171925 center/cover no-repeat;color:#fff;padding:2.2rem;display:flex;flex-direction:column;justify-content:flex-end}.ticket-banner span{text-transform:uppercase;letter-spacing:.13em;font-weight:800;opacity:.8}.ticket-banner h1{font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;letter-spacing:-.055em;margin:.8rem 0 0}.ticket-body{display:grid;grid-template-columns:1fr 300px;gap:2rem;padding:2rem}.ticket-info h2{font-size:2rem}.ticket-info dl>div{padding:.9rem 0;border-top:1px solid var(--line)}.ticket-info dt{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.ticket-info dd{margin:.3rem 0 0;font-weight:680}.ticket-qr{text-align:center;border-left:1px dashed #c9ccd2;padding-left:2rem}.ticket-qr img{width:230px;margin:0 auto}.ticket-qr code{display:block;font-size:.72rem;word-break:break-all;margin:.7rem 0;color:var(--muted)}.ticket-qr small{color:var(--muted)}
/* Login */
.login-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,#ede8ff,transparent 38%),#f4f5f8;display:grid;place-items:center;padding:1.25rem}.login-card{width:min(430px,100%);background:#fff;border-radius:24px;padding:2rem;box-shadow:var(--shadow)}.login-card h1{font-size:2rem;margin:2rem 0 .4rem}.login-card>p{color:var(--muted)}.stack{display:grid;gap:1rem}.stack label{display:grid;gap:.45rem;font-weight:700}.stack input{border:1px solid var(--line);border-radius:11px;padding:.85rem}.login-demo{margin-top:1.25rem;background:#f6f6f8;border-radius:12px;padding:1rem;display:grid;gap:.35rem}.login-demo code{font-size:.78rem}.brand{display:flex;align-items:center;gap:.7rem;font-weight:850}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent);color:#fff;font-weight:900}.login-brand{font-size:1rem}
/* Admin shell */
.admin-app{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#151722;color:#fff;padding:1.25rem;display:flex;flex-direction:column}.sidebar .brand{margin-bottom:2.5rem}.sidebar .brand small{opacity:.58;font-weight:600}.sidebar nav{display:grid;gap:.35rem}.sidebar nav a{padding:.8rem .9rem;border-radius:10px;color:#b8bdc8;font-weight:700}.sidebar nav a.active,.sidebar nav a:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-bottom{margin-top:auto;display:flex;justify-content:space-between;color:#8f95a3;font-size:.76rem}.sidebar-bottom a:hover{color:#fff}.admin-main{min-width:0;padding:2.2rem 2.5rem 5rem}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.3rem}.admin-header h1{font-size:2.2rem;letter-spacing:-.04em;margin:0}.event-nav{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 0 1.5rem}.event-nav a{padding:.8rem .9rem;border-bottom:2px solid transparent;color:var(--muted);font-size:.86rem;font-weight:740;white-space:nowrap}.event-nav a.active{border-color:var(--accent);color:var(--ink)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.event-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s}.event-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(24,28,40,.09)}.event-card-image{height:175px;background:#d8d9df center/cover no-repeat;padding:1rem}.event-card-body{padding:1.15rem}.event-card-body>span,.event-card-body>p{color:var(--muted);font-size:.82rem}.event-card-body h2{font-size:1.22rem;margin:.4rem 0}.event-card-body>div{display:flex;align-items:baseline;gap:.5rem;padding-top:1rem;border-top:1px solid var(--line)}.event-card-body>div span{font-size:.75rem;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.metric-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem;display:grid;gap:.45rem}.metric-card>span{font-size:.8rem;color:var(--muted);font-weight:700}.metric-card>strong{font-size:2rem;letter-spacing:-.04em}.metric-card>small{color:var(--muted)}.progress{height:7px;background:#eeeff2;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:inherit}.dashboard-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.action-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem}.action-card:hover{border-color:#c6c0ff}.action-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0edff;color:var(--accent);font-weight:850}.action-card h3{margin:0 0 .35rem}.action-card p{margin:0;color:var(--muted);line-height:1.45;font-size:.86rem}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.panel-heading h2{margin:0;font-size:1.3rem}.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.gender-chart{display:flex;align-items:center;gap:2rem}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) 0 var(--men),#ef7c9b var(--men) 100%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:25px;background:#fff;border-radius:50%}.donut strong,.donut span{position:absolute;z-index:1}.donut strong{font-size:1.8rem;transform:translateY(-9px)}.donut span{font-size:.72rem;color:var(--muted);transform:translateY(16px)}.legend p{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}.legend i{width:10px;height:10px;border-radius:50%}.legend i.men{background:var(--accent)}.legend i.women{background:#ef7c9b}.age-panel{display:flex;flex-direction:column;justify-content:center}.age-panel>strong{font-size:4rem;letter-spacing:-.06em}.age-panel>span:last-child{color:var(--muted)}.bar-list{display:grid;gap:.8rem}.bar-list>div{display:grid;grid-template-columns:140px 1fr 36px;gap:.7rem;align-items:center}.bar-list>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-list>div>div{height:9px;border-radius:999px;background:#eff0f3;overflow:hidden}.bar-list i{display:block;height:100%;background:var(--accent);border-radius:inherit}.sales-chart{width:100%;height:auto;overflow:visible}.sales-chart line{stroke:#d9dce2}.sales-chart path{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.sales-chart text{font-size:10px;fill:#777e8a}.empty-inline{padding:1.3rem;border:1px dashed #d7d9de;border-radius:12px;color:var(--muted);text-align:center}.ticket-admin-list{padding:0;overflow:hidden}.ticket-admin-row{display:grid;grid-template-columns:1fr 110px 110px;gap:1rem;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.ticket-admin-row:last-child{border-bottom:0}.ticket-admin-row h3{margin:0}.ticket-admin-row p{margin:.25rem 0 0;color:var(--muted);font-size:.82rem}.question-list{list-style:none;padding:0;margin:0}.question-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.check-field{display:flex;align-items:center;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:12px}.check-field input{accent-color:var(--accent)}.modal{border:0;border-radius:20px;padding:1.5rem;width:min(600px,calc(100% - 30px));box-shadow:var(--shadow)}.modal.wide{width:min(920px,calc(100% - 30px))}.modal::backdrop{background:rgba(14,16,24,.58);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:1rem;top:1rem;border:0;background:#f0f1f4;width:34px;height:34px;border-radius:50%;font-size:1.3rem}.thumb-row{display:flex;gap:.6rem;flex-wrap:wrap}.thumb-row img{width:110px;height:70px;object-fit:cover;border-radius:9px}.search-bar{display:flex;gap:.7rem;margin-bottom:1rem}.search-bar input{flex:1}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:.95rem 1rem;border-bottom:1px solid var(--line);font-size:.83rem}th{background:#fafafa;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}tbody tr:last-child td{border-bottom:0}td a{color:var(--accent)}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-toolbar p{margin:0;color:var(--muted)}.icon-button{border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px;font-size:1.2rem}.preview-frame{height:740px;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 36px rgba(24,28,40,.05)}.preview-frame iframe{width:100%;height:100%;border:0}.scanner-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem}.scanner-panel h2,.scan-result h2{font-size:1.7rem}.scanner-panel>p,.scan-result>p{color:var(--muted);line-height:1.5}.camera-frame{aspect-ratio:4/5;background:#12141a;border-radius:16px;overflow:hidden;display:grid;place-items:center;position:relative;margin:1rem 0}.camera-frame video,.camera-frame canvas{width:100%;height:100%;object-fit:cover}.camera-placeholder{position:absolute;color:#b8bdc8}.scan-camera-feedback{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.45);pointer-events:none;animation:scanFeedbackIn .18s ease-out}.scan-camera-feedback.valid{background:rgba(7,118,78,.18);box-shadow:inset 0 0 55px rgba(28,196,130,.55)}.scan-camera-feedback.used,.scan-camera-feedback.invalid{background:rgba(156,26,37,.22);box-shadow:inset 0 0 55px rgba(231,70,84,.58)}.scan-camera-feedback[hidden]{display:none}.scan-camera-feedback span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:3px solid rgba(255,255,255,.9);font-size:2rem;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.2)}.scan-camera-feedback.valid span{background:#16a36d}.scan-camera-feedback.used span,.scan-camera-feedback.invalid span{background:#d93f4f}.scan-camera-feedback strong{font-size:1.05rem}.camera-frame.scan-approved{box-shadow:0 0 0 3px rgba(22,163,109,.28),0 0 34px rgba(22,163,109,.3)}.camera-frame.scan-rejected{box-shadow:0 0 0 3px rgba(217,63,79,.3),0 0 34px rgba(217,63,79,.3)}@keyframes scanFeedbackIn{from{opacity:0}to{opacity:1}}.file-button input{display:none}.browser-note{font-size:.78rem}.scan-result{display:flex;flex-direction:column;justify-content:center;min-height:330px}.scan-result.valid{border-color:#9edbc5;background:#f1fbf7}.scan-result.used{border-color:#f1c58f;background:#fff8ee}.scan-result.invalid{border-color:#f0a8b1;background:#fff4f5}.scan-result .scan-person{font-size:1.1rem;font-weight:800;margin-top:1rem}.simple-page{max-width:720px;margin:0 auto;padding:5rem 1.25rem;text-align:center}
@media(max-width:1050px){.event-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:1fr}.dashboard-actions{grid-template-columns:1fr}.shop-layout{grid-template-columns:1fr}.event-summary{display:none}.scanner-grid{grid-template-columns:1fr}}
@media(max-width:820px){.admin-app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;align-items:center;padding:.8rem 1rem}.sidebar .brand{margin:0}.sidebar nav{margin-left:auto}.sidebar-bottom{margin:0 0 0 1rem}.sidebar-bottom span{display:none}.admin-main{padding:1.4rem 1rem 4rem}.event-nav{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}.checkout-grid,.ticket-body{grid-template-columns:1fr}.cart-summary{position:relative}.ticket-qr{border-left:0;border-top:1px dashed #c9ccd2;padding:2rem 0 0}.insight-grid{grid-template-columns:1fr}.insight-grid .span-2{grid-column:auto}.shop-layout{padding-top:3rem}.event-hero{min-height:440px}.share-button{position:static;margin-top:1.5rem}.event-hero-inner{padding-bottom:2.5rem}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.modal .form-grid .span-2{grid-column:auto}.event-grid{grid-template-columns:1fr}}
@media(max-width:600px){.event-hero-inner,.shop-layout,.checkout-wrap{width:min(100% - 26px,1180px)}.event-hero h1{font-size:3rem}.event-meta{display:grid;gap:.55rem}.photo-grid{grid-template-columns:1fr}.ticket-option{align-items:flex-start;flex-direction:column}.stepper{align-self:flex-end}.order-bar{bottom:.55rem}.checkout-header{padding:0 1rem;grid-template-columns:1fr}.checkout-header strong{display:none}.checkout-steps li{font-size:.65rem}.success-tickets>a{grid-template-columns:1fr}.admin-header{align-items:flex-start;flex-direction:column}.event-card-image{height:150px}.metric-card>strong{font-size:1.7rem}.gender-chart{flex-direction:column;align-items:flex-start}.ticket-admin-row{grid-template-columns:1fr auto}.ticket-admin-row>span{grid-column:2}.bar-list>div{grid-template-columns:90px 1fr 28px}.sidebar-bottom a{font-size:0}.sidebar-bottom a:after{content:"Uit";font-size:.75rem}.button-row{justify-content:flex-start}.ticket-banner{min-height:240px}.ticket-body{padding:1.2rem}}
/* v1.1.0 event-form refinements + v1.2.0 sidebar event navigation */
.optional-label{font-size:.68rem;font-weight:650;color:var(--muted);margin-left:.35rem;text-transform:uppercase;letter-spacing:.06em}.upload-field{gap:.65rem}.upload-preview-grid{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:.55rem;margin-top:.25rem}.upload-preview-slot{min-height:105px;border:1px dashed #cfd3dc;border-radius:12px;background:#f7f8fa center/cover no-repeat;padding:.7rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative}.upload-preview-slot.banner-slot{min-height:125px}.upload-preview-slot>span{position:absolute;top:.55rem;left:.55rem;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-size:.68rem;font-weight:800}.upload-preview-slot strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-preview-slot small{font-size:.62rem}.upload-preview-slot.has-image{color:#fff;border-style:solid;border-color:#bab4f5;text-shadow:0 1px 2px rgba(0,0,0,.35)}.ticket-background-preview{width:min(280px,100%);aspect-ratio:4/5;border:1px dashed #cfd3dc;border-radius:14px;background:#f7f8fa center/cover no-repeat;display:flex;align-items:flex-end;padding:1rem;color:var(--muted);font-size:.78rem;font-weight:760}.ticket-background-preview.has-image{color:#fff;border-style:solid;text-shadow:0 1px 2px rgba(0,0,0,.45)}.current-photo{display:grid;gap:.35rem}.current-photo img{width:140px;height:76px}.current-photo small{color:var(--muted);font-size:.68rem}.event-form-actions{display:grid;justify-items:end;gap:.65rem}.form-submit-error{min-height:1.2rem;color:#a72b38;font-size:.8rem;font-weight:650;text-align:right;max-width:680px}.sidebar nav{min-height:0;overflow:hidden}.sidebar-event-list{display:grid;gap:.2rem;margin:.35rem 0 0 .55rem;padding-left:.6rem;border-left:1px solid rgba(255,255,255,.12);max-height:calc(100vh - 250px);overflow-y:auto}.sidebar nav .sidebar-event-link{display:block;padding:.58rem .7rem;color:#8f95a3;font-size:.76rem;line-height:1.25;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:8px}.sidebar nav .sidebar-event-link:hover{background:rgba(255,255,255,.06);color:#fff}.sidebar nav .sidebar-event-link.active{background:rgba(91,56,242,.24);color:#fff;box-shadow:inset 2px 0 0 #8b73ff}
@media(max-width:1050px){.upload-preview-grid{grid-template-columns:repeat(3,1fr)}.upload-preview-slot.banner-slot{grid-column:span 2}}
@media(max-width:820px){.sidebar-event-list{display:none}.sidebar nav{overflow:visible}.event-form-actions{justify-items:stretch}.event-form-actions .button{justify-self:end}.form-submit-error{text-align:left}.upload-preview-grid{grid-template-columns:repeat(2,1fr)}.upload-preview-slot.banner-slot{grid-column:1/-1}}
@media(max-width:600px){.upload-preview-grid{grid-template-columns:1fr}.upload-preview-slot.banner-slot{grid-column:auto}}

/* v1.3.0 feedback: event navigation truncation + event media management */
.sidebar nav{width:100%;min-width:0}.sidebar-event-list{width:100%;min-width:0}.sidebar nav .sidebar-event-link{width:100%;min-width:0;max-width:100%;font-size:.68rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-media-preview{display:grid;gap:1rem;margin-top:.25rem}.event-banner-preview{width:100%;aspect-ratio:8/3;min-height:180px;border:1px dashed #cfd3dc;border-radius:16px;background:#f7f8fa center/cover no-repeat;display:flex;align-items:flex-end;padding:1.1rem;overflow:hidden}.event-banner-preview>div{display:grid;gap:.2rem}.event-banner-preview .preview-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}.event-banner-preview strong{font-size:.9rem}.event-banner-preview.has-image{color:#fff;border-style:solid;border-color:#bab4f5;text-shadow:0 1px 3px rgba(0,0,0,.45)}.event-banner-preview.has-image .preview-kicker{color:rgba(255,255,255,.78)}
.event-photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.event-photo-item{min-width:0;border:1px solid var(--line);border-radius:13px;padding:.55rem;background:#fff;display:grid;grid-template-columns:1fr auto;grid-template-areas:"image image" "meta drag" "remove remove";gap:.5rem;cursor:grab;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.event-photo-item:active{cursor:grabbing}.event-photo-item.is-banner{border-color:#bcb4ff;background:#faf9ff}.event-photo-item.dragging{opacity:.45}.event-photo-item.drag-over{border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,56,242,.1)}.event-photo-item img{grid-area:image;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px;background:#eef0f3}.event-photo-meta{grid-area:meta;min-width:0;display:grid;gap:.15rem}.event-photo-meta strong{font-size:.75rem}.event-photo-meta small{font-size:.62rem;color:var(--muted);line-height:1.3}.media-drag{grid-area:drag;align-self:start;color:var(--muted);font-size:.65rem;font-weight:750;white-space:nowrap}.media-remove{grid-area:remove;border:0;background:#f2f3f5;color:#4e5561;border-radius:8px;padding:.5rem .6rem;font-size:.68rem;font-weight:750}.media-remove:hover{background:#ffecef;color:#a72b38}.media-empty{grid-column:1/-1;border:1px dashed #d7d9de;border-radius:12px;padding:1rem;color:var(--muted);font-size:.78rem;text-align:center}
.ticket-background-preview{position:relative;overflow:hidden;justify-content:flex-end;min-height:350px}.ticket-preview-copy{display:grid;gap:.25rem;position:relative;z-index:1}.ticket-preview-copy span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.ticket-preview-copy strong{font-size:1rem}.ticket-preview-copy small{font-size:.68rem}.ticket-background-preview.has-image .ticket-preview-copy{color:#fff}.ticket-background-remove{position:absolute;right:.65rem;top:.65rem;z-index:2;background:rgba(255,255,255,.92);color:#343843}.ticket-background-remove[hidden]{display:none}
@media(max-width:1050px){.event-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.event-photo-list{grid-template-columns:1fr}.event-banner-preview{min-height:145px}}

/* v1.3.1 - ticketshop image controls only */
.event-photo-item{grid-template-areas:"image image" "meta drag" "actions actions"}
.event-photo-actions{grid-area:actions;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.media-action{border:0;background:#f2f3f5;color:#4e5561;border-radius:8px;padding:.5rem .6rem;font-size:.68rem;font-weight:750;cursor:pointer}
.media-action:hover{background:#eceaff;color:var(--accent)}
.media-action:disabled{opacity:.38;cursor:not-allowed}
.media-arrow{min-width:34px;font-size:.8rem}
.event-photo-actions .media-remove{margin-left:auto}

/* v1.4.0: uitsluitend ticket- en vragenbeheer */
.ticket-admin-row.ticket-admin-row-link{grid-template-columns:minmax(220px,1fr) 130px 150px 140px;color:inherit;text-decoration:none}.ticket-admin-row-link:hover{background:#faf9ff}.ticket-admin-stat{display:grid;gap:.25rem}.ticket-admin-stat>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:760}.ticket-admin-stat>strong{font-size:.95rem}.question-list li{padding:0}.question-link{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;color:inherit}.question-link>span:first-child{display:grid;gap:.22rem}.question-link small{color:var(--muted);font-size:.75rem}.question-ticket-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.5rem}.question-answer-heading{padding:1rem 1rem 0}.question-answer-heading+table{border-top:1px solid var(--line)}
@media(max-width:760px){.ticket-admin-row.ticket-admin-row-link{grid-template-columns:1fr 1fr}.ticket-admin-name{grid-column:1/-1}.question-ticket-options{grid-template-columns:1fr}}

/* v1.4.1 - ticket overview layout only */
.ticket-admin-list{overflow-x:auto}
.ticket-admin-table{min-width:820px}
.ticket-admin-header,.ticket-admin-row.ticket-admin-row-link{display:grid;grid-template-columns:minmax(260px,1fr) 150px 180px 150px;gap:1.5rem;align-items:center}
.ticket-admin-header{padding:.8rem 1.2rem;background:#fafafa;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}
.ticket-admin-row.ticket-admin-row-link{padding:1rem 1.2rem}
.ticket-admin-value{min-width:0}
.ticket-admin-value>strong{font-size:.95rem;white-space:nowrap}
@media(max-width:760px){.ticket-admin-table{min-width:760px}.ticket-admin-header,.ticket-admin-row.ticket-admin-row-link{grid-template-columns:minmax(230px,1fr) 130px 170px 130px}.ticket-admin-name{grid-column:auto}}

/* v1.5.0 - uitsluitend dashboardomzet en Vraag toevoegen-layout */
.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.question-targeting{display:grid;gap:.65rem}
.question-targeting .field-label{margin-bottom:.05rem}
.question-target-option{display:flex;align-items:center;gap:.8rem;width:100%;padding:.85rem .95rem;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:690;cursor:pointer}
.question-target-option:hover{border-color:#c9c4f9;background:#fbfaff}
.question-target-option input{width:19px;height:19px;flex:0 0 19px;accent-color:var(--accent);margin:0}
.question-target-divider{font-size:.72rem;color:var(--muted);font-weight:700;padding:.05rem .1rem}
.question-ticket-options-add{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:0}
@media(max-width:1050px){.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-metric-grid{grid-template-columns:1fr}}

/* v1.6.0 - uitsluitend dashboardkaart-layout en ticket lifecycle controls */
.ticket-edit-actions{justify-content:space-between;align-items:center}
.button.danger-button,.danger-button{background:#fff0f2;color:var(--danger);border:1px solid #ffd5da}
.button.danger-button:hover,.danger-button:hover{background:#ffe5e9}
.confirm-modal{width:min(480px,calc(100% - 30px))}
.confirm-modal h2{margin-bottom:.7rem}
.confirm-modal p{color:var(--muted);line-height:1.6;margin-bottom:1.35rem}
.confirm-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
@media(max-width:600px){.ticket-edit-actions{align-items:stretch}.ticket-edit-actions .button{width:100%}.confirm-actions .button{flex:1}}

/* v1.7.0 - uitsluitend feedback V1.6.0 */
[data-answer-options][hidden]{display:none!important}
.deleted-ticket-section{margin-top:1rem}
.deleted-ticket-heading{padding:1.15rem 1.2rem .65rem;margin-bottom:0}
.person-row{cursor:pointer}
.person-row:hover{background:#faf9ff}
.person-row:focus{outline:2px solid var(--accent);outline-offset:-2px}
.buyer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.buyer-detail-list{display:grid;gap:0;margin:0}
.buyer-detail-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}
.buyer-detail-list>div:last-child{border-bottom:0}
.buyer-detail-list dt{color:var(--muted);font-size:.8rem}
.buyer-detail-list dd{margin:0;text-align:right;font-weight:650}
.buyer-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.buyer-ticket-card{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}
.buyer-ticket-card-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem}
.buyer-ticket-card-heading h3{margin:.2rem 0 0}
.buyer-ticket-codes{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.3fr);gap:1rem;align-items:start}
.buyer-ticket-codes>div{display:grid;gap:.45rem;justify-items:center;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fafafa}
.buyer-ticket-codes>div>span{justify-self:start;color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:.08em}
.buyer-ticket-codes img{width:150px;height:150px;object-fit:contain;background:#fff}
.barcode-preview{width:100%;background:#fff;padding:.35rem}
.barcode-preview svg{display:block;width:100%;height:auto;max-height:150px}
.buyer-ticket-codes code{font-size:.72rem;word-break:break-all}
@media(max-width:850px){.buyer-detail-grid,.buyer-ticket-grid{grid-template-columns:1fr}.buyer-ticket-codes{grid-template-columns:1fr}}


/* v1.8.2 - uitsluitend spacing tickets en bestaande-vraagflow */
.ticket-question-section{margin-top:1rem}
.question-detail-stack{display:grid;gap:1rem}
.question-overview-heading{align-items:center;margin-bottom:0}
@media(max-width:600px){.question-overview-heading{align-items:stretch;flex-direction:column}.question-overview-heading .button{width:100%}}


/* v1.9.0 - uitsluitend publieke ticketshop-home */
.ticketshop-home-body{background:var(--canvas);min-height:100vh}.public-home{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:2.2rem 0 6rem}.public-home-header{display:grid;gap:5rem;padding-bottom:2.4rem}.public-home-brand{display:inline-flex;align-items:center;gap:.75rem;width:max-content;font-weight:820}.public-home-intro{max-width:760px}.public-home-intro h1{font-size:clamp(3rem,8vw,6.4rem);letter-spacing:-.06em;line-height:.92;margin:0 0 1.2rem}.public-home-intro p{font-size:1.08rem;line-height:1.7;color:var(--muted);max-width:650px}.public-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.public-event-card{display:grid;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 36px rgba(20,24,36,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.public-event-card:hover{transform:translateY(-3px);border-color:#cbc5fa;box-shadow:0 22px 52px rgba(20,24,36,.09)}.public-event-card-image{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#171925,#5b38f2);background-position:center;background-size:cover}.public-event-card-action{position:absolute;right:1rem;bottom:1rem;background:rgba(255,255,255,.94);color:var(--ink);border-radius:999px;padding:.68rem .9rem;font-size:.78rem;font-weight:800;box-shadow:0 8px 24px rgba(16,18,30,.16)}.public-event-card-body{padding:1.4rem 1.45rem 1.55rem}.public-event-card-body .eyebrow{margin-bottom:.45rem}.public-event-card-body h2{font-size:1.55rem;letter-spacing:-.035em;margin:0 0 1rem}.public-event-card-meta{display:grid;gap:.35rem;color:var(--muted);font-size:.88rem;line-height:1.45}.public-home-empty{background:#fff;border:1px solid var(--line);border-radius:22px;padding:4rem 2rem;text-align:center;color:var(--muted)}.public-home-empty h2{margin:0;color:var(--ink)}
@media(max-width:760px){.public-home{width:min(100% - 28px,1180px);padding-top:1.2rem}.public-home-header{gap:3.4rem}.public-event-grid{grid-template-columns:1fr}.public-home-intro h1{font-size:clamp(2.8rem,15vw,4.6rem)}}

/* v1.9.1 - event-specific embed tooling */
.embed-ticketshop-body { margin: 0; }
.embed-admin-panel { margin-top: 24px; display: grid; gap: 16px; }
.embed-admin-panel > div:first-child h2 { margin-bottom: 6px; }
.embed-admin-panel > div:first-child p { margin: 0; }
.embed-admin-panel label { display: grid; gap: 8px; font-weight: 700; }
.embed-admin-panel input[readonly] { width: 100%; }
.embed-admin-panel [data-embed-status] { min-height: 1.2em; }

/* v1.10.1 - direct drag-and-drop ticket ordering */
.ticket-sortable-row{cursor:grab;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}
.ticket-sortable-row:active{cursor:grabbing}.ticket-sortable-row.ticket-dragging{opacity:.58;box-shadow:0 10px 28px rgba(20,24,36,.10);transform:scale(.995);background:#fafaff}.ticket-sortable-row.ticket-drag-over-before{transform:translateY(5px)}.ticket-sortable-row.ticket-drag-over-after{transform:translateY(-5px)}
.ticket-sortable-row .ticket-admin-name{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.ticket-drag-handle{display:inline-grid;place-items:center;width:18px;min-width:18px;color:#a3a7b3;font-size:1rem;line-height:1;letter-spacing:-.22em;user-select:none}.ticket-sortable-row:hover .ticket-drag-handle{color:#777d8b}
@media(max-width:700px){.ticket-drag-handle{display:none}.ticket-sortable-row{cursor:default}.ticket-sortable-row .ticket-admin-name{grid-template-columns:1fr}}

/* v1.11.0 - CRM foundation */
.sidebar nav .sidebar-crm-link{margin-top:.8rem}.crm-person-modal{width:min(620px,calc(100% - 30px))}.crm-event-history{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--line)}.crm-event-history ul{margin:.35rem 0 0;padding-left:1.2rem;display:grid;gap:.55rem}.crm-table tbody tr{cursor:pointer}.crm-table tbody tr:hover{background:#faf9ff}.crm-table tbody tr:focus{outline:2px solid var(--accent);outline-offset:-2px}


/* v1.11.1 - CRM search, sorting and event purchase details */
.crm-sort-heading{display:grid;gap:.36rem;min-width:138px}.crm-sort-heading>span{font-weight:800}.crm-sort-options{display:flex;flex-wrap:wrap;gap:.35rem}.crm-sort-option{font-size:.67rem;font-weight:700;color:var(--muted);padding:.2rem .42rem;border:1px solid var(--line);border-radius:999px;background:#fff;white-space:nowrap;transition:border-color .14s ease,color .14s ease,background .14s ease}.crm-sort-option:hover,.crm-sort-option.active{color:var(--accent);border-color:#cfc7ff;background:#f8f6ff}.crm-event-purchases{display:grid;gap:.55rem;margin-top:.45rem}.crm-event-purchase{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.crm-event-purchase summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;cursor:pointer;font-weight:760;list-style:none}.crm-event-purchase summary::-webkit-details-marker{display:none}.crm-event-purchase summary:after{content:'+';color:var(--muted);font-size:1rem}.crm-event-purchase[open] summary:after{content:'−'}.crm-event-ticket-total{font-size:.75rem;font-weight:700;color:var(--muted);margin-left:auto}.crm-event-purchase ul{margin:0!important;padding:.1rem .9rem .85rem!important;display:grid!important;gap:.42rem!important;list-style:none;border-top:1px solid var(--line)}.crm-event-purchase li{display:flex;justify-content:space-between;gap:1rem;padding-top:.55rem;color:var(--muted)}.crm-event-purchase li strong{color:var(--ink)}


/* v1.11.2 - uitsluitend CRM-lijstweergave */
.crm-table{overflow-x:auto}
.crm-table table{min-width:1120px;table-layout:auto}
.crm-table th,.crm-table td{white-space:nowrap;vertical-align:middle}
.crm-table th{padding-top:1rem;padding-bottom:1rem}
.crm-table td{padding-top:1rem;padding-bottom:1rem}
.crm-table th:nth-child(1),.crm-table td:nth-child(1){width:20%}
.crm-table th:nth-child(2),.crm-table td:nth-child(2){width:16%}
.crm-table th:nth-child(3),.crm-table td:nth-child(3){width:14%}
.crm-table th:nth-child(4),.crm-table td:nth-child(4){width:28%}
.crm-table th:nth-child(5),.crm-table td:nth-child(5){width:9%}
.crm-table th:nth-child(6),.crm-table td:nth-child(6){width:13%}
.crm-sort-heading{display:inline-flex;align-items:center;gap:.35rem;min-width:0;font-weight:800;color:inherit;white-space:nowrap;transition:color .14s ease}
.crm-sort-heading:hover,.crm-sort-heading.active{color:var(--accent)}
.crm-sort-arrow{font-size:.92rem;line-height:1;font-weight:800;color:currentColor}
.crm-email-link{color:#2864dc;text-decoration:none;font-weight:650;white-space:nowrap}
.crm-email-link:hover{text-decoration:underline}

/* v1.12.0 - CRM verwijderen en ticket ongeldig maken */
.crm-name-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.crm-name-pair>div{border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;background:#fafafa;display:grid;gap:.2rem}
.crm-name-pair span{font-size:.72rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.crm-name-pair strong{font-size:1rem}
.crm-delete-action{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
.crm-ticket-decision-actions{display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap}
.crm-ticket-decision-actions form{margin:0}
.buyer-ticket-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.ticket-invalid-note{margin-top:1rem;padding:.7rem .8rem;border-radius:10px;background:#fff4f5;color:#a33b49;font-size:.78rem;font-weight:700}
@media(max-width:700px){.crm-name-pair{grid-template-columns:1fr}.crm-delete-action,.buyer-ticket-actions{justify-content:stretch}.crm-delete-action .button,.buyer-ticket-actions .button{width:100%}}

/* v1.13.0 event lifecycle */
.sidebar-event-groups{display:grid;gap:.75rem;margin-top:.45rem}.sidebar-event-group{min-width:0}.sidebar-event-group-title{display:block;margin:0 0 .2rem 1.15rem;color:#6f7583;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sidebar-event-group .sidebar-event-list{margin-top:0;max-height:none}.sidebar-event-empty{display:block;padding:.45rem .7rem;color:#666c79;font-size:.68rem}.event-ended-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;margin-bottom:1.4rem;border:1px solid #e1e3e8;border-radius:14px;background:#f5f6f8;color:#4a4f59}.event-ended-notice strong{font-size:1rem}.event-ended-notice span{font-size:.82rem;color:var(--muted)}
@media(max-width:820px){.sidebar-event-groups{display:none}.event-ended-notice{align-items:flex-start;flex-direction:column}}

/* v1.15.0 kortingscodes */
.table-subtext{display:block;margin-top:.28rem;color:var(--muted);font-weight:500}.compact-button{padding:.5rem .7rem;font-size:.76rem}.discount-table table{min-width:1040px}.discount-ticket-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.45rem}.switch-field{display:inline-flex;align-items:center;gap:.65rem;width:max-content;cursor:pointer}.switch-field input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:44px;height:24px;border-radius:999px;background:#d6d9df;position:relative;transition:.18s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}.switch-field input:checked+.switch-track{background:var(--accent)}.switch-field input:checked+.switch-track:after{transform:translateX(20px)}.discount-codes-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.text-button{border:0;background:transparent;color:var(--accent);font-weight:760;padding:.35rem 0;text-align:left}.generate-code-button{width:max-content}.discount-code-box{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:.5rem}.discount-code-box>label{font-size:.78rem;font-weight:760}.discount-code-input{display:flex;gap:.5rem}.discount-code-input input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.18);background:#fff;color:var(--ink);border-radius:10px;padding:.7rem .78rem}.discount-code-input .button{padding:.68rem .8rem}.discount-code-box small{min-height:1em;color:#b9e6d1}.discount-code-box small.error-text{color:#ffb2ba}.discount-summary-line strong{color:#b9f2d3}
@media(max-width:820px){.discount-ticket-options{grid-template-columns:1fr}.discount-code-input{align-items:stretch}.discount-code-input .button{flex:none}}

/* v1.15.1 discount UI refinement */
.table-link-button{border:0;background:transparent;padding:0;color:var(--accent);font:inherit;text-align:left;cursor:pointer}
.table-link-button:hover{text-decoration:underline;text-underline-offset:2px}
.discount-profile-form{min-width:0}
.discount-ticket-targeting{padding-top:.1rem}
.discount-ticket-options{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.55rem;min-width:0}
.discount-ticket-options .question-target-option{min-width:0}
.discount-ticket-options .question-target-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.discount-code-box{gap:.6rem}
.discount-code-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:stretch}
.discount-code-input input{width:100%}
.discount-code-input .button{min-width:104px;background:var(--accent);border-color:var(--accent);color:#fff;justify-content:center}
.discount-code-input .button:hover{filter:brightness(.96);color:#fff}
@media(max-width:460px){.discount-code-input{grid-template-columns:1fr}.discount-code-input .button{width:100%}}

/* v1.16.0 ticket personalization */
.success-ticket-pending{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:14px;margin:.6rem 0;background:#fff}.success-ticket-pending>span{color:var(--muted);font-size:.82rem}.ticket-status-stack{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.ticket-holder-info{display:grid;gap:.25rem;margin:-.25rem 0 1rem}.ticket-holder-info a{color:#2563eb}.buyer-ticket-card .ticket-invalid-note+ .buyer-ticket-actions{margin-top:1rem}@media(max-width:600px){.success-ticket-pending{grid-template-columns:1fr}.ticket-status-stack{justify-content:flex-start}}

/* v1.16.7: ticket claim spacing and CRM count */
.ticket-claim-list{display:grid;gap:.85rem}
.ticket-claim-option>span{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%}
.ticket-claim-option>span strong{white-space:nowrap}
.deleted-question-section{margin-top:1rem}
.crm-profile-total{margin:-.25rem 0 .75rem;color:var(--muted);font-size:.85rem}
.crm-profile-total strong{color:var(--ink)}

/* v1.16.8: special tickets and low availability */
.special-ticket-section{display:grid;gap:.75rem;margin-bottom:1rem}
.special-ticket-heading{display:block;margin:.15rem 0 -.05rem .15rem;font-size:.7rem;font-weight:820;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.ticket-option.special-ticket{position:relative;overflow:hidden;isolation:isolate}
.ticket-option.special-ticket>*{position:relative;z-index:1}
.ticket-option.special-ticket:after{content:"";position:absolute;z-index:0;top:-55%;bottom:-55%;left:-45%;width:34%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(220,224,232,.08),rgba(248,250,252,.52),rgba(205,210,220,.10),transparent);filter:blur(2px);pointer-events:none;animation:specialTicketGlow 4.8s ease-in-out infinite}
@keyframes specialTicketGlow{0%,58%{left:-45%;opacity:0}64%{opacity:1}82%{left:118%;opacity:1}88%,100%{left:118%;opacity:0}}
.ticket-low-availability{display:block;margin:.35rem 0 0;color:#a35a12;font-size:.78rem;font-weight:800}
@media(prefers-reduced-motion:reduce){.ticket-option.special-ticket:after{animation:none;display:none}}

/* v1.16.9: stronger special ticket emphasis and staged availability */
.special-ticket-section{gap:.9rem;margin-bottom:1.25rem}
.special-ticket-heading{margin:.2rem 0 .05rem .15rem;font-size:.74rem;color:#5e6470;letter-spacing:.12em}
.ticket-option.special-ticket{border:1px solid rgba(116,103,180,.52);background:linear-gradient(135deg,#fbfaff 0%,#f1efff 46%,#f7f9ff 100%);box-shadow:0 16px 36px rgba(69,54,137,.14),inset 0 0 0 1px rgba(255,255,255,.72);transform:translateZ(0);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.ticket-option.special-ticket:hover{border-color:rgba(91,56,242,.66);box-shadow:0 20px 44px rgba(70,51,158,.2),0 0 0 3px rgba(128,110,220,.08),inset 0 0 0 1px rgba(255,255,255,.82);transform:translateY(-2px)}
.ticket-option.special-ticket:before{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;box-shadow:inset 4px 0 0 rgba(91,56,242,.5),inset 0 0 28px rgba(139,123,211,.08);pointer-events:none}
.ticket-option.special-ticket .ticket-title-line h3{color:#2f2852}
.ticket-option.special-ticket:after{top:-75%;bottom:-75%;left:-58%;width:46%;background:linear-gradient(90deg,transparent,rgba(205,210,225,.12),rgba(255,255,255,.9),rgba(193,199,218,.34),rgba(232,228,255,.5),transparent);filter:blur(1px);animation:specialTicketGlow 3.6s ease-in-out infinite}
@keyframes specialTicketGlow{0%,48%{left:-58%;opacity:0}54%{opacity:.45}66%{opacity:1}82%{left:120%;opacity:.9}89%,100%{left:120%;opacity:0}}
.ticket-almost-sold-out{display:block;margin:.35rem 0 0;color:#b05a16;font-size:.78rem;font-weight:800}
.ticket-low-availability{color:#bd3b32}
@media(prefers-reduced-motion:reduce){.ticket-option.special-ticket{transform:none}.ticket-option.special-ticket:hover{transform:none}}

/* v1.17.0 part 2 - Accounts management */
.sidebar nav .sidebar-accounts-link{margin-top:.15rem}.accounts-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem}.accounts-intro h2{margin:.2rem 0 .35rem}.accounts-intro p{margin:0;color:var(--muted);max-width:680px}.accounts-table{min-width:760px}.accounts-table td:last-child{text-align:right}.account-edit-panel{margin-top:1rem}.account-security-actions{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line);display:grid;gap:1rem}.account-password-form{max-width:620px}.account-password-form small{display:block;color:var(--muted);margin-top:.4rem}.account-protected-note{padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fafafa}.account-protected-note p{margin:.35rem 0 0;color:var(--muted);line-height:1.5}.button.compact{padding:.55rem .75rem;font-size:.78rem}
@media(max-width:820px){.accounts-intro{align-items:flex-start;flex-direction:column}}

/* v1.17.2 - respect hidden for the scanner event in account creation. */
#account-create-dialog [data-account-scanner-event][hidden]{display:none}

/* v1.18.0 - ticket time-slot controls only. */
[data-time-slot-summary][hidden]{display:none}
[data-time-slot-summary]{margin-top:.6rem;font-size:.88rem}
.time-slot-dialog{max-width:520px}
.time-slot-dialog p{margin:0;color:var(--muted);line-height:1.5}

/* v1.19.0 - Mollie payment status pages. */
.payment-status-page{max-width:720px}
.payment-status-page .payment-status-icon{background:#eef1ff;color:var(--accent)}
.payment-status-page.payment-status-paid .payment-status-icon{background:#e4f8ef;color:var(--success)}
.payment-status-page.payment-status-failed .payment-status-icon{background:#feeceb;color:#c7352b}
.payment-status-page.payment-status-canceled .payment-status-icon,.payment-status-page.payment-status-expired .payment-status-icon,.payment-status-page.payment-status-warning .payment-status-icon{background:#fff3df;color:#a85d00}
.payment-status-page.payment-status-processing .payment-status-icon,.payment-status-page.payment-status-open .payment-status-icon{animation:payment-status-pulse 1.8s ease-in-out infinite}
.payment-status-actions form{margin:0}
.payment-status-reason,.payment-reference,.payment-auto-refresh{max-width:590px;margin:1rem auto 0;color:var(--muted);line-height:1.55}
.payment-reference strong{color:var(--ink);word-break:break-all}
.payment-status-notice{max-width:590px;margin:1.4rem auto 0;text-align:left}
@keyframes payment-status-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.94);opacity:.7}}
@media (prefers-reduced-motion:reduce){.payment-status-page .payment-status-icon{animation:none!important}}

/* v1.20.0 - unpersonalized ticket insights/reminders only */
.insights-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card-link{color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.metric-card-link:hover{border-color:#c6c0ff;box-shadow:0 10px 24px rgba(24,28,40,.06);transform:translateY(-1px)}.personalization-list-heading{padding:1rem 1rem 0;align-items:center}.personalization-list-heading p{margin:.35rem 0 0;color:var(--muted);font-size:.82rem}.personalization-list-heading+.table-wrap{margin-top:0}@media(max-width:1050px){.insights-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.insights-metric-grid{grid-template-columns:1fr}.personalization-list-heading{align-items:flex-start;flex-direction:column}}

/* Readable legal documents; no changes to existing shop/checkout styles. */
.legal-page{max-width:920px;margin:0 auto;padding:3.5rem 1.25rem 5rem;min-height:55vh}.legal-document{line-height:1.7;text-align:left;overflow-wrap:break-word}.legal-document h1{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.035em;margin-bottom:.5rem}.legal-document h2{font-size:1.22rem;margin:2.25rem 0 .85rem;line-height:1.35}.legal-document p{margin:0 0 1rem}.legal-document .legal-version{color:var(--muted);font-size:.85rem;margin-bottom:2rem}.legal-document a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.legal-document .legal-list{padding-left:1.4rem;margin:.5rem 0 1.4rem}.legal-document .legal-list li{margin-bottom:.7rem}.legal-table-scroll{width:100%;overflow-x:auto;margin:1rem 0 2rem}.legal-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.92rem}.legal-table th,.legal-table td{border:1px solid var(--line);padding:.75rem;vertical-align:top;text-align:left}.legal-table th{background:var(--canvas)}

/* v1.25.0: unobtrusive, accessible legal and marketing notices in customer forms. */
.marketing-choice{display:flex;align-items:flex-start;gap:10px;font-size:.94rem;line-height:1.5;cursor:pointer;margin:4px 0 0}
.marketing-choice input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#6045eb}
.legal-photo-notice{font-size:.77rem;line-height:1.55;color:#697181;margin:4px 0 8px}
.legal-photo-notice a{color:inherit;text-decoration:underline}
.review-marketing-status{font-size:.83rem;color:#697181;margin-top:12px}


/* v1.26.1 - embedded ticketshop layout only; normal ticketshop stays unchanged */
.embed-ticketshop-body .embed-event-header{width:min(980px,calc(100% - 40px));margin:0 auto;padding:2rem 0 0}
.embed-ticketshop-body .embed-event-image{width:100%;aspect-ratio:16/7;min-height:240px;border-radius:20px;background:#eceef3 center/cover no-repeat}
.embed-ticketshop-body .embed-event-image:not(.has-image){background:linear-gradient(135deg,#f0eefc,#eceef3)}
.embed-ticketshop-body .embed-event-info{padding:1.55rem 0 .4rem;border-bottom:1px solid var(--line)}
.embed-ticketshop-body .embed-event-info .event-organizer{color:var(--muted);opacity:1;margin-bottom:.55rem}
.embed-ticketshop-body .embed-event-info h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1;letter-spacing:-.045em;margin:0 0 1.15rem}
.embed-ticketshop-body .embed-event-meta{display:flex;flex-wrap:wrap;gap:1.5rem 2.4rem}
.embed-ticketshop-body .embed-event-meta>div{display:grid;gap:.22rem}
.embed-ticketshop-body .embed-event-meta span{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:760}
.embed-ticketshop-body .embed-event-meta strong{font-size:.94rem;line-height:1.35}
.embed-ticketshop-body .embed-share-button{margin-top:1rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.65rem .9rem;font-size:.82rem;font-weight:760}
.embed-ticketshop-body .shop-layout{width:min(980px,calc(100% - 40px));grid-template-columns:1fr;gap:0;padding-top:2.2rem}

/* successful-order celebration; one play per order is controlled in app.js */
.success-confetti-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:40}
.success-confetti-piece{position:absolute;left:var(--x);bottom:-20px;width:var(--w);height:var(--h);border-radius:2px;background:var(--c);opacity:0;transform:translate3d(0,0,0) rotate(0);animation:successConfettiBurst var(--burst) cubic-bezier(.18,.7,.28,1) var(--delay) forwards,successConfettiFall var(--fall) ease-in var(--fall-delay) forwards}
@keyframes successConfettiBurst{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}10%{opacity:1}100%{opacity:1;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot))}}
@keyframes successConfettiFall{0%{opacity:1;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot))}100%{opacity:0;transform:translate3d(calc(var(--dx) + var(--drift)),110vh,0) rotate(calc(var(--rot) + 440deg))}}

@media(max-width:700px){
  .embed-ticketshop-body .embed-event-header{width:min(100% - 24px,980px);padding-top:.75rem}
  .embed-ticketshop-body .embed-event-image{aspect-ratio:4/3;min-height:0;border-radius:14px}
  .embed-ticketshop-body .embed-event-info{padding:1rem 0 .2rem}
  .embed-ticketshop-body .embed-event-info h1{font-size:1.8rem;margin-bottom:.8rem}
  .embed-ticketshop-body .embed-event-meta{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem}
  .embed-ticketshop-body .embed-event-meta>div:last-child{grid-column:1/-1}
  .embed-ticketshop-body .embed-event-meta span{font-size:.62rem}
  .embed-ticketshop-body .embed-event-meta strong{font-size:.82rem}
  .embed-ticketshop-body .embed-share-button{padding:.5rem .72rem;font-size:.74rem;margin-top:.75rem}
  .embed-ticketshop-body .shop-layout{width:min(100% - 24px,980px);padding:1.35rem 0 5rem}
  .embed-ticketshop-body .section-heading{margin-bottom:.75rem}
  .embed-ticketshop-body .section-heading h2{font-size:1.45rem}
  .embed-ticketshop-body .event-description{font-size:.94rem;line-height:1.62}
  .embed-ticketshop-body .tickets-heading{margin-top:2rem}
  .embed-ticketshop-body .ticket-option{padding:.85rem;border-radius:13px;margin-bottom:.65rem;gap:.7rem}
  .embed-ticketshop-body .ticket-title-line h3{font-size:1rem}
  .embed-ticketshop-body .ticket-copy p{font-size:.82rem;line-height:1.4;margin:.35rem 0}
  .embed-ticketshop-body .ticket-price{margin-top:.45rem}
  .embed-ticketshop-body .ticket-price strong{font-size:.98rem}
  .embed-ticketshop-body .ticket-price span{font-size:.72rem}
  .embed-ticketshop-body .stepper{grid-template-columns:32px 32px 32px}
  .embed-ticketshop-body .stepper button{height:32px;font-size:1.05rem}
  .embed-ticketshop-body .order-bar{border-radius:14px;padding:.72rem .72rem .72rem .9rem;gap:.7rem;margin-top:1rem}
  .embed-ticketshop-body .order-bar strong{font-size:1.12rem}
  .embed-ticketshop-body .order-bar small{font-size:.68rem}
  .embed-ticketshop-body .order-bar .button{padding:.68rem .9rem;font-size:.78rem}
  .embed-ticketshop-body .special-ticket-heading{font-size:.65rem}
}
@media(prefers-reduced-motion:reduce){.success-confetti-piece{animation:none!important;display:none}}

/* v1.26.3 - optional embed background */
.embed-ticketshop-body{background:var(--embed-ticketshop-background,#fff)}
.embed-color-form{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.embed-color-form>div{display:grid;gap:.45rem;min-width:0;flex:1}.embed-color-form small{color:var(--muted);font-size:.72rem;line-height:1.4}.embed-color-controls{display:grid;grid-template-columns:48px minmax(150px,240px);gap:.65rem;align-items:center}.embed-color-controls input[type=color]{width:48px;height:42px;border:1px solid var(--line);border-radius:10px;padding:3px;background:#fff}.embed-color-controls input[type=text]{width:100%;border:1px solid #d9dce2;background:#fff;border-radius:11px;padding:.72rem .8rem;text-transform:uppercase}
@media(max-width:600px){.embed-color-form{align-items:stretch;flex-direction:column}.embed-color-form .button{align-self:flex-start}.embed-color-controls{grid-template-columns:44px minmax(0,1fr)}}
