.eventday-animatic {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    min-height: 500px;
    padding: 16px;
    background: #fff;
    color: #252525;
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.eventday-animatic *, .eventday-animatic *::before, .eventday-animatic *::after { box-sizing: border-box; }
.eventday-animatic p, .eventday-animatic h3, .eventday-animatic h4, .eventday-animatic ul { margin: 0; }
.eventday-animatic h3 { font-size: 20px; line-height: 1.25; }
.eventday-animatic h4 { font-size: 21px; line-height: 1.3; }
.eventday-animatic :where(.animatic-eyebrow, .animatic-badge, .eventday-note, .eventday-safety) { font-size: 14px; line-height: 1.45; }
.eventday-animatic .animatic-eyebrow { color: #535353; font-size: 14px !important; margin-bottom: 6px !important; letter-spacing: 0; }
.eventday-animatic .animatic-badge { flex-shrink: 0; max-width: 100%; white-space: normal; }
.eventday-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; border-bottom: 1px solid #dedede; padding-bottom: 10px; }
.eventday-heading > div, .eventday-columns > *, .eventday-event-details > * { min-width: 0; }
.eventday-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; flex: 1; align-items: start; }
.eventday-inspector { display: grid; gap: 14px; align-content: start; }
.eventday-section-label { font-weight: 700; color: #494949; }
.eventday-animatic .eventday-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.eventday-animatic .animatic-field { display: block; min-width: 0; padding: 0 0 6px; border: 0; border-bottom: 1px solid #e5e5e5; background: none; border-radius: 0; }
.eventday-animatic .animatic-field strong, .eventday-animatic .animatic-field span { display: block; font-size: 14px; line-height: 1.45; }
.eventday-animatic .animatic-field strong { color: #555; font-weight: 600; }
.eventday-animatic .animatic-field span { color: #252525; font-size: 15px; margin-top: 3px; }
.eventday-note { color: #555; }
.eventday-safety { margin-top: auto !important; padding-top: 12px; border-top: 1px solid #dedede; color: #535353; }
.eventday-callout { display: grid; gap: 4px; padding: 12px; border-left: 3px solid #52786c; background: #f0f6f3; font-size: 14px; }
.eventday-invite { overflow: hidden; border: 1px solid #d8d8d8; border-radius: 6px; background: #fff; }
.eventday-animatic .eventday-invite-photo { display: block; width: 100%; height: 155px; object-fit: cover; object-position: center 60%; border-radius: 0; }
.eventday-envelope { position: relative; display: grid; justify-items: center; align-content: center; min-height: 165px; padding: 20px 12px; gap: 5px; background: #eef4f1; isolation: isolate; }
.eventday-envelope-flap { position: absolute; inset: 0 0 auto; height: 76px; clip-path: polygon(0 0, 100% 0, 50% 100%); background: #d1e0d9; z-index: -1; transform-origin: top; animation: eventday-envelope-open 4s ease-in-out infinite alternate; animation-play-state: paused; }
.animatic-page.is-playing .eventday-envelope-flap { animation-play-state: running; }
@keyframes eventday-envelope-open { 0%, 25% { transform: rotateX(0); } 75%, 100% { transform: rotateX(165deg); } }
.eventday-envelope strong { display: grid; place-items: center; width: 64px; height: 48px; background: #305c4b; color: #fff; border-radius: 50%; font-size: 17px; }
.eventday-invite-copy { display: grid; gap: 5px; text-align: center; padding: 16px 12px; }
.eventday-invite-copy h4 { font-family: Georgia, serif; font-size: 26px; }
.eventday-responses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); text-align: center; gap: 6px; margin: 12px 0; }
.eventday-invite > .eventday-responses { margin: 0 12px 14px; }
.eventday-responses span { padding: 9px 4px; border: 1px solid #bcbcbc; border-radius: 4px; font-weight: 600; }
.eventday-responses .eventday-selected { color: #fff; background: #236246; border-color: #236246; }
.eventday-register { min-width: 0; }
.eventday-register-label { display: flex; justify-content: space-between; gap: 8px; padding: 0 0 10px; color: #555; font-size: 14px; }
.eventday-animatic .eventday-list { list-style: none; padding: 0; }
.eventday-animatic .eventday-list .animatic-list-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 0; border-bottom: 1px solid #e5e5e5; }
.eventday-list .animatic-list-row > div { display: grid; gap: 3px; min-width: 0; }
.eventday-list .animatic-list-row > div > span { color: #555; font-size: 14px; }
.eventday-test-result, .eventday-offlist, .eventday-response-sheet, .eventday-manual, .eventday-lookup { display: grid; gap: 12px; align-content: start; padding: 16px; background: #f4f7f5; border-left: 3px solid #537567; }
.eventday-offlist { background: #fff7e2; border-color: #9b7414; }
.eventday-checks { display: grid; gap: 10px; padding-left: 18px; font-size: 14px; }
.eventday-zero { font-size: 26px; color: #286149; }
.eventday-animatic .eventday-tone-success { background: #e5f3eb; color: #185236; }
.eventday-animatic .eventday-tone-warning { background: #fff2cd; color: #704e00; }
.eventday-animatic .eventday-tone-neutral { background: #efefef; color: #454545; }
.eventday-animatic .eventday-tone-danger { background: #fbe9eb; color: #942d3c; }
.eventday-plan-columns { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.eventday-plan-wrap { display: grid; gap: 8px; }
.eventday-plan-dimension { text-align: center; font-size: 14px; color: #555; }
.eventday-plan { position: relative; border: 2px solid #858d88; background: #f5f7f5; padding: 10px 10px 30px; height: 285px; }
.eventday-head-table { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 10px; padding: 6px; width: 80%; margin: 0 auto 10px; border: 1px solid #598275; background: #dcece3; font-size: 14px; }
.eventday-tables { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, 58px); place-items: center; gap: 8px; }
.eventday-table { width: 64px; height: 58px; max-width: 100%; border: 2px solid #7b938b; border-radius: 50%; background: #fff; display: grid; place-content: center; justify-items: center; font-size: 14px; line-height: 1.25; }
.eventday-table strong { font-size: 16px; }
.eventday-table-1 { grid-area: 1 / 1; }
.eventday-table-2 { grid-area: 1 / 3; }
.eventday-table-3 { grid-area: 2 / 1; }
.eventday-table-4 { grid-area: 2 / 3; }
.eventday-table-5 { grid-area: 3 / 1; }
.eventday-table-6 { grid-area: 3 / 3; }
.eventday-dance-floor { grid-area: 1 / 2 / 4 / 3; display: grid; place-content: center; gap: 6px; text-align: center; width: 100%; height: 122px; border: 1px dashed #93714a; background: #f7eddc; font-size: 14px; }
.eventday-table-selected { outline: 3px solid #227354; outline-offset: 3px; background: #dcefe4; }
.eventday-seating[data-eventday-step="furniture"] .eventday-table-3, .eventday-seating[data-eventday-step="assign"] .eventday-table-3, .eventday-seating[data-eventday-step="capacity"] .eventday-table-3 { transform: translateX(-6px); }
.eventday-seating[data-eventday-step="furniture"] .eventday-table-3 { animation: eventday-table-move 2.5s ease-in-out both; animation-play-state: paused; }
.animatic-page.is-playing .eventday-seating[data-eventday-step="furniture"] .eventday-table-3 { animation-play-state: running; }
@keyframes eventday-table-move { from { transform: translateX(6px); } to { transform: translateX(-6px); } }
.eventday-room-edge { position: absolute; left: 10px; right: 10px; bottom: 5px; display: flex; justify-content: space-between; gap: 10px; color: #535b57; font-size: 14px; }
.eventday-empty-room { display: grid; height: 100%; align-content: center; justify-items: center; gap: 8px; text-align: center; }
.eventday-empty-room strong { font-size: 24px; }
.eventday-assignment { display: grid; gap: 5px; padding: 16px 0; border-block: 1px solid #bed1c8; }
.eventday-assignment strong { font-size: 30px; }
.eventday-assignment span { font-size: 21px; }
.eventday-animatic .eventday-venue-photo { width: 100%; height: 145px; object-fit: cover; border-radius: 4px; }
.eventday-event-preview { display: grid; gap: 16px; }
.eventday-animatic .eventday-event-photo { width: 100%; height: 145px; object-fit: cover; object-position: center 55%; border-radius: 4px; }
.eventday-event-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .65fr); gap: 18px; }
.eventday-ticket-price { display: grid; gap: 6px; align-content: center; padding-left: 16px; border-left: 1px solid #d8d8d8; }
.eventday-ticket-price strong { font-size: 30px; color: #256343; }
.eventday-wallet { border: 1px solid #ccc; border-radius: 6px; overflow: hidden; }
.eventday-animatic .eventday-wallet-photo { width: 100%; height: 112px; display: block; object-fit: cover; border-radius: 0; }
.eventday-wallet-body { display: grid; gap: 10px; padding: 14px; }
.eventday-code-placeholder { display: grid; gap: 6px; padding: 18px 10px; text-align: center; border: 2px dashed #858585; background: #f6f6f6; color: #4b4b4b; }
.eventday-code-placeholder strong { font-size: 18px; }
.eventday-code-placeholder span { font-size: 14px; }
.eventday-scan-result { display: grid; align-content: center; gap: 16px; min-height: 290px; padding: 22px; border: 2px solid currentColor; border-radius: 6px; }
.eventday-result-status { font-size: 30px; line-height: 1.15; }
.eventday-scan-result .animatic-eyebrow { color: inherit; }

@media (max-width: 600px) {
    .eventday-animatic { min-height: 560px; padding: 8px; gap: 8px; font-size: 14px; line-height: 1.35; }
    .eventday-heading { flex-wrap: wrap; gap: 6px; padding-bottom: 8px; }
    .eventday-animatic h3 { font-size: 18px; }
    .eventday-animatic h4 { font-size: 19px; }
    .eventday-columns { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .eventday-animatic .eventday-fields { grid-template-columns: minmax(0, 1fr); gap: 5px; }
    .eventday-animatic .animatic-field { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); gap: 8px; padding-bottom: 5px; }
    .eventday-animatic .animatic-field strong, .eventday-animatic .animatic-field span { margin: 0; font-size: 14px; line-height: 1.35; }
    .eventday-inspector { gap: 8px; }
    .eventday-test-result, .eventday-offlist, .eventday-response-sheet, .eventday-manual, .eventday-lookup { padding: 10px; gap: 6px; }
    .eventday-animatic .eventday-invite-photo { height: 90px; }
    .eventday-envelope { min-height: 120px; padding: 10px; }
    .eventday-invite-copy { padding: 10px; gap: 3px; }
    .eventday-invite-copy h4 { font-size: 24px; }
    .eventday-animatic .eventday-list .animatic-list-row { padding: 7px 0; gap: 8px; }
    .eventday-list .animatic-badge { max-width: 45%; }
    .eventday-review-columns .eventday-list .animatic-list-row { padding: 8px 0; }
    .eventday-callout { padding: 8px; }
    .eventday-safety { padding-top: 9px; }
    .eventday-plan { height: 218px; padding: 6px 9px 24px; }
    .eventday-tables { grid-template-rows: repeat(3, 46px); gap: 4px; }
    .eventday-table { width: 58px; height: 46px; }
    .eventday-dance-floor { height: 102px; }
    .eventday-head-table { padding: 4px; margin-bottom: 6px; width: 90%; }
    .eventday-plan-wrap { gap: 6px; }
    .eventday-plan-wrap > .eventday-note { display: none; }
    .eventday-plan-columns .eventday-inspector { gap: 8px; }
    .eventday-plan-columns .eventday-callout span { font-size: 14px; }
    .eventday-animatic .eventday-venue-photo { height: 70px; }
    .eventday-assignment { padding: 10px 0; }
    .eventday-event-details { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .eventday-animatic .eventday-event-photo { height: 145px; }
    .eventday-ticket-price { padding: 8px 0 0; border-left: 0; border-top: 1px solid #ddd; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px; }
    .eventday-animatic .eventday-wallet-photo { height: 80px; }
    .eventday-wallet-body { padding: 10px; gap: 6px; }
    .eventday-wallet-body .animatic-eyebrow { margin-bottom: 0; }
    .eventday-code-placeholder { padding: 12px 8px; }
    .eventday-scan-result { min-height: 175px; padding: 12px; gap: 8px; }
    .eventday-result-status { font-size: 28px; }
}

@media (max-width: 360px) {
    .eventday-scan-result { min-height: 160px; }
}

@media (prefers-reduced-motion: reduce) {
    .eventday-animatic *, .eventday-animatic *::before, .eventday-animatic *::after { animation: none !important; transition: none !important; }
}
