.ticket-date-tool { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d8e5ef; border-radius: 8px; background: #fff; }
.ticket-date-tool[hidden] { display: none; }
.ticket-date-tool .ticket-date-intro { margin-top: 0; }
.ticket-date-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.ticket-date-fields label { display: block; min-width: 0; font: 600 .95rem/1.5 Arial, sans-serif; color: #34495c; }
.ticket-date-fields input, .ticket-date-fields select { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; margin-top: .5rem; padding: .65rem; border: 1px solid #bdcedc; border-radius: 5px; background: #fff; color: #172536; font: 1rem/1.4 Arial, sans-serif; }
.ticket-date-tool button { margin-top: 1rem; padding: .75rem 1rem; min-height: 44px; border: 1px solid #1577be; border-radius: 5px; background: #fff; color: #1468a5; font: 600 1rem/1.4 Arial, sans-serif; cursor: pointer; }
.ticket-date-tool button:hover { background: #edf6fd; }
.ticket-date-tool :focus-visible { outline: 2px solid #1577be; outline-offset: 3px; }
.ticket-date-tool output { display: block; margin-top: 1rem; font-weight: 600; }
.ticket-date-tool .ticket-date-note { margin-bottom: 0; color: #53677a; font-size: .95rem; }
@media (max-width: 600px) { .ticket-date-fields { grid-template-columns: minmax(0, 1fr); } }
@media print { .ticket-date-fields, .ticket-date-tool button, .ticket-date-tool .ticket-date-intro { display: none; } .ticket-date-tool { padding: 0; border: 0; } }
