.flatpickr-calendar{background:var(--card);border-radius:12px;box-shadow:0 8px 32px #00000026;border:1px solid var(--border);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}.flatpickr-months .flatpickr-month{background:var(--card);color:var(--text);fill:var(--text);border-radius:12px 12px 0 0}.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--card);color:var(--text)}.flatpickr-current-month input.cur-year{color:var(--text)}.flatpickr-weekdays,span.flatpickr-weekday{background:var(--card);color:var(--sub)}.flatpickr-day{color:var(--text);border-radius:8px}.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:var(--sub)}.flatpickr-day:hover{background:var(--primary-muted);border-color:transparent;color:var(--primary)}.flatpickr-day.today{border-color:var(--primary);color:var(--primary)}.flatpickr-day.today:hover,.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--primary);border-color:var(--primary);color:#fff}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{fill:var(--text)}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--primary)}.ov-disclaimer{display:flex;gap:8px;align-items:flex-start;background:color-mix(in srgb,#f59e0b 9%,var(--card));border:1px solid color-mix(in srgb,#f59e0b 28%,var(--border));border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:12.5px;color:var(--sub);line-height:1.6}.ov-disclaimer b{color:var(--text);font-weight:600}.form-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-row label{width:76px;flex-shrink:0;font-size:14px;color:var(--sub);font-weight:500}.iw{flex:1;display:flex;align-items:center;min-width:0;gap:0;height:42px;border:1.5px solid var(--border);border-radius:10px;background:var(--card-alt);overflow:hidden;transition:border-color .2s,background .2s}.iw:focus-within{border-color:var(--primary);background:var(--card)}.iw input{flex:1;min-width:0;height:100%;padding:0 6px 0 12px;border:none;outline:none;background:transparent;color:var(--text);font-size:15px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.iw input.ov-date{cursor:pointer;padding-right:12px}.iw input::-webkit-outer-spin-button,.iw input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.iw input[type=number]{-moz-appearance:textfield}.unit{font-size:13px;color:var(--sub);flex-shrink:0;padding:0 10px 0 2px;user-select:none}.lg-sw{width:14px;height:14px;border-radius:5px;flex-shrink:0;display:inline-block}.sw-period{background:color-mix(in srgb,#f44336 22%,var(--card));border:1px solid color-mix(in srgb,#f44336 45%,transparent)}.sw-fertile{background:color-mix(in srgb,#4caf50 20%,var(--card));border:1px solid color-mix(in srgb,#4caf50 40%,transparent)}.sw-ovu{background:#4caf50}.sw-today{background:transparent;border:2px solid var(--primary)}.ov-month+.ov-month{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}@media(min-width:640px){.ov-month{padding:0 12px}.ov-month:first-child{padding-left:0}.ov-month:last-child{padding-right:0}.ov-month+.ov-month{margin-top:0;padding-top:0;border-top:none;border-left:1px solid var(--border)}}.ov-month-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px;text-align:center}.ov-week-head{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px}.ov-week-head span{font-size:11px;color:var(--sub);text-align:center;font-weight:600}.ov-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.ov-day{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text);border-radius:7px;border:1px solid transparent;font-variant-numeric:tabular-nums}.ov-day.is-blank{visibility:hidden}.ov-day.d-period{background:color-mix(in srgb,#f44336 20%,var(--card));border-color:color-mix(in srgb,#f44336 38%,transparent)}.ov-day.d-fertile{background:color-mix(in srgb,#4caf50 18%,var(--card));border-color:color-mix(in srgb,#4caf50 34%,transparent)}.ov-day.d-ovu{background:#4caf50;color:#fff;border-color:#4caf50;font-weight:800}.ov-day.d-today{box-shadow:inset 0 0 0 2px var(--primary)}.ov-day.d-past{opacity:.45}@media(max-width:640px){.iw input{font-size:16px}.form-row label{width:72px}.ov-day{font-size:13px}}
