.event-modal-open { overflow: hidden; }
.event-dialog { width: min(680px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 28px; border: 1px solid #34444a; border-radius: 8px; background: #0e1c21; color: #fffcec; overflow-y: auto; }
.event-dialog::backdrop { background: rgba(0,0,0,.76); }
.event-dialog-top { display: flex; justify-content: space-between; align-items: center; }
.event-dialog .kicker { color: #fb8f2c; margin: 0; }
.event-close { background: transparent; border: 0; color: white; font-size: 30px; width: 44px; height: 44px; cursor: pointer; }
.event-dialog h2 { font-size: clamp(1.8rem, 5vw, 2.5rem); margin: 12px 0; }
.event-dialog > p { color: #c5cfd1; }
#event-form { display: grid; gap: 16px; }
.event-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
#event-form label { display: grid; gap: 6px; font-size: 14px; }
#event-form input:not([type=checkbox]), #event-form select, #event-form textarea { width: 100%; min-width: 0; padding: 11px; border: 1px solid #9ba7ab; border-radius: 4px; background: #fff; color: #0b1214; font: inherit; font-size: 16px; }
#event-form textarea { resize: vertical; }
#event-form .event-check { display: flex; align-items: flex-start; gap: 10px; }
#event-form input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; accent-color: #fb8f2c; }
#event-form fieldset { margin: 0; border: 1px solid #53656c; padding: 14px; }
#event-form legend { font-size: 14px; padding: 0 6px; }
.event-options { display: flex; flex-wrap: wrap; gap: 16px; }
#event-form :focus-visible, .event-close:focus-visible { outline: 2px solid #fb8f2c; outline-offset: 3px; }
#event-form :disabled { opacity: .65; }
#event-result:empty { display: none; }
#event-availability:empty { display: none; }
#event-availability { margin: 0; font-size: 14px; padding: 10px; }
#event-result { padding: 12px; margin: 0; }
.event-success { background: #234237; color: #edfff5; }
.event-error { background: #512d25; color: #fff1e9; }
@media(max-width: 500px) { .event-dialog { padding: 18px; } .event-fields { grid-template-columns: minmax(0,1fr); } }
