/* Shared Flatpickr look aligned with app-shell teal accent */

.flatpickr-wrapper {
    width: 100%;
    max-width: 100%;
    display: block;
    position: relative;
    isolation: isolate;
}

/*
 * Flatpickr hides the named input when altInput is on; Tailwind utilities (w-full, py-3, etc.)
 * can override those inline styles so the user still sees an empty "primary" field while the
 * real value lives on the invisible altInput. Force the commit field visually off-screen.
 */
.flatpickr-wrapper > input.press-dt-input.flatpickr-input:not(.press-dt-alt-input),
.flatpickr-wrapper input.press-dt-input.flatpickr-input:not(.press-dt-alt-input) {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    pointer-events: none !important;
}

.flatpickr-wrapper input.press-dt-alt-input {
    position: relative !important;
    left: auto !important;
    width: 100%;
    box-sizing: border-box;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.flatpickr-calendar {
    z-index: 120000;
    touch-action: manipulation;
    border-radius: 0.75rem;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    border: 1px solid rgba(148, 163, 184, 0.35);
    font-family: var(--app-font-sans, "Plus Jakarta Sans", system-ui, sans-serif);
}

.flatpickr-months .flatpickr-month {
    border-radius: 0.75rem 0.75rem 0 0;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    font-weight: 600;
}

.flatpickr-weekdays {
    background: rgba(248, 250, 252, 0.95);
}

.flatpickr-day.today {
    border-color: #0f766e;
    color: #0f766e;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange {
    background: rgba(15, 118, 110, 0.12);
    border-color: transparent;
    box-shadow: none;
    color: #0f172a;
}

.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:focus,
.flatpickr-time input:focus {
    background: rgba(15, 118, 110, 0.12);
}

.flatpickr-time input.flatpickr-hour,
.flatpickr-time input.flatpickr-minute {
    font-weight: 600;
}

/* Primary input stays hidden when altInput is used; alt field matches workspace inputs */
.press-dt-alt-input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.75rem;
    height: 2.75rem;
    border-radius: 0.88rem;
    border: 1px solid rgb(209, 213, 219);
    background: #f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat 0.75rem center;
    background-size: 18px 18px;
    font-family: var(--app-font-sans, "Plus Jakarta Sans", system-ui, sans-serif);
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937;
    caret-color: #1f2937;
    transition: all 0.2s ease;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.press-dt-alt-input::placeholder {
    color: #9ca3af;
}

.press-dt-alt-input:hover {
    border-color: #94a3b8;
    background-color: #fff;
    box-shadow: 0 1px 3px 0 rgba(15, 118, 110, 0.08);
}

.press-dt-alt-input:focus {
    outline: none;
    border-color: #0f766e;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1), 0 1px 3px 0 rgba(15, 118, 110, 0.12);
}

.press-dt-alt-input.has-value {
    border-color: #10b981;
    color: #059669 !important;
    -webkit-text-fill-color: #059669;
    font-weight: 500;
}

.press-dt-alt-input.has-value:focus {
    border-color: #0f766e;
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937;
}

.press-dt-alt-input:valid {
    border-color: #10b981;
}

.press-dt-alt-input:focus:valid {
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1), 0 1px 3px 0 rgba(16, 185, 129, 0.12);
}

.press-dt-alt-input:disabled {
    background-color: #f3f4f6;
    color: #9ca3af !important;
    -webkit-text-fill-color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.7;
}

.press-dt-alt-input:read-only {
    background-color: #f9fafb;
    border-color: #e5e7eb;
    color: #6b7280 !important;
    -webkit-text-fill-color: #6b7280;
    cursor: default;
}
