.date-picker { position: relative; }
.date-picker-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; text-align: left; border: 1px solid #c9c9c1; background: #fff; padding: 14px 16px; cursor: pointer; border-radius: 4px; color: var(--ink); }
.date-picker-toggle strong, .date-picker-toggle small { display: block; }
.date-picker-toggle small { color: var(--muted); margin-top: 3px; }
.date-picker-toggle .chevron { font-size: 24px; color: var(--moss); transition: .2s; }
.date-picker-toggle:disabled { cursor: not-allowed; background: #f1efe8; opacity: .65; }
.date-picker.open .chevron { transform: rotate(180deg); }
.date-picker-menu { position: absolute; z-index: 6; top: calc(100% + 7px); left: 0; right: 0; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); max-height: 390px; overflow: auto; }
.date-picker-note { position: sticky; top: 0; background: #f4efe3; padding: 13px 16px; border-bottom: 1px solid var(--line); z-index: 1; }
.date-picker-note strong, .date-picker-note span { display: block; }
.date-picker-note strong { font-size: 12px; color: var(--forest); }
.date-picker-note span { font-size: 11px; color: var(--muted); margin-top: 2px; }
.date-options { padding: 7px; }
.date-option { display: flex; align-items: center; gap: 11px; padding: 10px; border-radius: 4px; cursor: pointer; font-size: 13px; }
.date-option:hover { background: #f5f2e9; }
.date-option input { width: 17px; height: 17px; accent-color: var(--moss); }
.date-option.disabled { opacity: .4; cursor: not-allowed; }
.date-option span { margin-left: auto; color: var(--muted); font-size: 11px; }
.selected-dates { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.date-chip { display: flex; align-items: center; gap: 9px; background: #e5eee7; color: var(--forest); padding: 7px 9px 7px 11px; border-radius: 99px; font-size: 12px; font-weight: 600; }
.date-chip button { border: 0; background: transparent; color: var(--moss); cursor: pointer; font-size: 16px; line-height: 1; }
.field-help { font-size: 11px; color: var(--muted); margin: 12px 0 0; }
.admin-auth { min-height: 280px; background: var(--paper); border: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(30px, 6vw, 70px); }
.admin-auth h2 { font: 600 32px Oswald; text-transform: uppercase; margin: 0 0 10px; }
.admin-auth p:last-child { color: var(--muted); max-width: 560px; }
.staff-bar { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin: -20px 0 20px; font-size: 12px; color: var(--muted); }
.save-admin { grid-column: 1 / -1; justify-self: end; }
.button-busy { opacity: .6; pointer-events: none; }
.email-verification-field label { display: flex; flex-direction: column; gap: 8px; }
.email-verification-field label > span { color: var(--orange); }
.verify-email-button { align-self: flex-start; border: 0; background: transparent; padding: 0; color: var(--moss); font: 700 12px "DM Sans", sans-serif; text-decoration: underline; cursor: pointer; }
.verification-entry { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.verification-entry input { letter-spacing: 4px; font-weight: 700; }
.verification-status { text-align: left !important; }
.verification-status.verified { color: var(--moss); font-weight: 700; }
.verification-status.error { color: var(--orange); }
.submission-result { max-width: 1132px; margin: -88px auto 105px; padding: 18px 22px; border-left: 4px solid var(--moss); background: #e5eee7; color: var(--forest); }
.submission-result.warning { border-left-color: var(--amber); background: #f6ead3; }
.submission-result strong, .submission-result span { display: block; }
.submission-result span { margin-top: 5px; font-size: 13px; }
[hidden] { display: none !important; }
@media (max-width: 650px) { .admin-auth { flex-direction: column; align-items: flex-start; } }
