.signup-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.signup-name-fields label{display:grid;gap:7px}
.nck-name-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.nck-name-banner button{flex-shrink:0}
.nck-planning-dialog{box-sizing:border-box;max-width:min(620px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px);overflow:auto;background:#171717;color:#eee;border:1px solid #445461;border-top:3px solid #168cff;padding:26px;z-index:10000;font:14px/1.5 'Segoe UI',Arial,sans-serif}.nck-planning-dialog::backdrop{background:#000b}.nck-planning-dialog h2{font-family:'Segoe UI',Arial,sans-serif;font-size:21px}.nck-planning-dialog input{width:100%;box-sizing:border-box;background:#101010;color:#fff;border:1px solid #444;padding:11px}.nck-conflict-list{padding:0;list-style:none}.nck-conflict-list li{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #383838}.nck-conflict-list span,.nck-conflict-list small{color:#bbc4ca}
.event-calendar .event-calendar-day a.external-calendar-race{background:#242629;border:1px solid #52565b;border-left:3px solid #797e84;box-shadow:none;color:#bbb;opacity:.8}.event-calendar .event-calendar-day a.external-calendar-race strong,.event-calendar .event-calendar-day a.external-calendar-race small{color:#c0c4c8;font-family:'Segoe UI',Arial,sans-serif}.event-calendar .event-calendar-day a.external-calendar-race:hover{background:#303338;border-color:#a1a5aa;opacity:1;transform:none}.external-calendar-note{font:12px/1.5 'Segoe UI',Arial,sans-serif;color:#b2b7bd;max-width:900px}
.event-calendar .event-calendar-day .calendar-timing-warning{color:#f0c674;font:600 11px/1.5 'Segoe UI',Arial,sans-serif}
@media(max-width:540px){.signup-name-fields{grid-template-columns:1fr}.nck-name-banner{align-items:flex-start;flex-direction:column}.nck-planning-dialog{padding:20px}}

/* Month dimensions stay fixed; busy days expand into a separate day panel. */
#modal .event-calendar-grid{height:clamp(470px,49dvh,540px);grid-template-rows:22px repeat(6,minmax(0,1fr));align-items:stretch}
#modal .event-calendar-day,#modal .event-calendar-blank{min-height:0!important;height:100%;box-sizing:border-box;padding:3px;overflow:hidden}
#modal .event-calendar-day>span{display:block;line-height:14px;cursor:pointer;width:max-content}
#modal .event-calendar-day>span:focus-visible{outline:2px solid #64bdff;outline-offset:2px}
#modal .calendar-day-events{min-width:0}
#modal .calendar-day-events>a{margin-top:2px;padding:1px 4px;line-height:14px;min-width:0;max-height:16px;box-sizing:border-box;overflow:hidden}
#modal .calendar-day-events>a[hidden]{display:none!important}
#modal .calendar-day-events>a strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 11px/14px 'Segoe UI',Arial,sans-serif}
#modal .calendar-day-events>a small{display:none}
#modal .calendar-day-events>a.external-calendar-race{opacity:.75;border-width:0 0 0 2px;background:#34373a66;color:#b8bec4}
#modal .calendar-day-events>a.has-timing-conflict{border-left-color:#e3b957}
#modal .calendar-day-more{display:block;padding:0 3px;margin-top:0;min-height:0;min-width:0;background:transparent;border:0;border-radius:0;color:#aebdca;font:600 10px/12px 'Segoe UI',Arial,sans-serif;cursor:pointer}
#modal .calendar-day-more:hover{color:#fff;text-decoration:underline}
#modal .event-calendar-scroll{overflow-y:hidden;flex-shrink:0}
#modal .event-calendar-month{margin:12px 0 8px}
#modal .event-calendar-hint{margin:8px 0 0}
.nck-public-design #modal .preview-calendar-race{min-height:72px;max-height:84px;position:relative;top:auto;margin:10px 0}
.nck-public-design #modal .preview-calendar-race-copy{padding:10px 16px}
.nck-public-design #modal .preview-calendar-race-copy h3{font-size:24px;line-height:1;margin:5px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.nck-public-design #modal .preview-calendar-race-copy p{margin:4px 0}
.nck-public-design #modal .preview-calendar-race-copy>span{display:none}
.calendar-day-details{display:grid;gap:10px;margin:16px 0;max-height:55dvh;overflow:auto}
.calendar-day-details>a{display:block;background:#10232f;border-left:3px solid #1697e8;padding:10px;color:#fff;text-decoration:none}
.calendar-day-details>a.external-calendar-race{background:#292b2e;border-color:#777;color:#ddd}
.calendar-day-details strong{display:block;font:600 14px/1.4 'Segoe UI',Arial,sans-serif}
.calendar-day-details small{display:block;font:12px/1.5 'Segoe UI',Arial,sans-serif;color:#aebbc5;margin-top:5px}
.calendar-suggestions{height:125px;box-sizing:border-box;padding:10px 12px;margin-top:10px;background:#131c22;border:1px solid #2c414f;border-radius:8px}
.calendar-suggestions-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 12px/1.4 'Segoe UI',Arial,sans-serif}
.calendar-suggestions-heading label{display:flex;align-items:center;gap:8px;margin:0;color:#adbcc7;font-size:11px}
.calendar-suggestions-heading select{padding:3px 6px;width:auto;min-height:0;max-width:115px;font:12px 'Segoe UI',Arial,sans-serif;background:#171d22;color:#eee;border:1px solid #43505b}
.calendar-suggestion-slots{display:flex;gap:14px;overflow-x:auto;margin-top:8px;scrollbar-width:thin}
.calendar-suggestion-slots>article{min-width:185px;flex:1;display:grid;gap:3px;line-height:1.3}
.calendar-suggestion-slots small{font:700 9px 'Segoe UI',Arial,sans-serif;color:#85c9aa;letter-spacing:.5px}
.calendar-suggestion-slots strong{font:600 12px 'Segoe UI',Arial,sans-serif;color:#fff}
.calendar-suggestion-slots span,.calendar-suggestion-note{font:10px/1.4 'Segoe UI',Arial,sans-serif;color:#a5b7c4}
.calendar-suggestion-note{margin:6px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:600px){#modal .event-calendar-grid{height:430px}.calendar-suggestions{height:133px}.calendar-suggestion-slots>article{min-width:205px}.calendar-suggestions-heading{gap:5px}.calendar-suggestions-heading label{font-size:10px}}

.calendar-suggestions.calendar-suggestions-simple{height:auto!important;min-height:0!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px}.calendar-suggestions-simple p{margin:4px 0 0;font:12px/1.4 Segoe UI,Arial,sans-serif;color:#b8c8d3}.calendar-suggestions-simple button{flex-shrink:0;font:600 13px Segoe UI,Arial,sans-serif;padding:11px 16px}@media(max-width:500px){.calendar-suggestions.calendar-suggestions-simple{align-items:stretch;flex-direction:column;gap:9px}}

/* Finished site events stay on the full calendar, distinct from upcoming blue races. */
.event-calendar .event-calendar-day a.is-completed,.calendar-day-details>a.is-completed{background:#3b171c;border-color:#b93848;border-left:3px solid #f05263;color:#ffd5da;box-shadow:none}
.event-calendar .event-calendar-day a.is-completed strong,.event-calendar .event-calendar-day a.is-completed small,.calendar-day-details>a.is-completed strong,.calendar-day-details>a.is-completed small{color:#ffd5da}
.event-calendar .event-calendar-day a.is-completed:hover,.calendar-day-details>a.is-completed:hover{background:#522029;border-color:#ff7887}
