/* Shared month picker, with a native fallback when JavaScript is unavailable. */
input[type="month"],input[type="month"].app-month-input{min-height:36px;max-width:100%;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:inherit;font-size:13px;font-weight:400;line-height:20px;color-scheme:light}
input.app-month-input{width:180px}
input[type="month"]:focus-visible{outline:2px solid #0369a1;outline-offset:2px}
input[type="month"]:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}
.app-month-picker{display:inline-flex;position:relative;width:180px;max-width:100%;vertical-align:middle}
input[type="month"].app-month-picker__native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0;pointer-events:none}
.app-month-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:inherit;font-size:13px;line-height:20px;text-align:left;cursor:pointer}
.app-month-picker__trigger:focus-visible,.app-month-picker__panel button:focus-visible,.app-month-picker__year:focus-visible{outline:2px solid #0369a1;outline-offset:2px}
.app-month-picker__trigger:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}
.app-month-picker__trigger[aria-invalid="true"]{border-color:#e11d48}
.app-month-picker__icon{font-size:18px;color:#64748b}
.app-month-picker__panel{position:fixed;z-index:10000;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:#fff;color:#0f172a;box-shadow:0 12px 40px #0f172a26;font:400 13px/1.5 sans-serif}
.app-month-picker__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.app-month-picker__arrow,.app-month-picker__utility{min-height:36px;min-width:36px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer}
.app-month-picker__arrow{font-size:20px}
.app-month-picker__year-label{display:flex;align-items:center;gap:8px;font-weight:600}
.app-month-picker__year{width:90px;min-height:36px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:inherit}
.app-month-picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.app-month-picker__month{min-height:40px;padding:6px 2px;border:1px solid transparent;border-radius:8px;background:#f8fafc;font:inherit;cursor:pointer}
.app-month-picker__month:hover:not(:disabled){background:#e0f2fe}
.app-month-picker__month[aria-pressed="true"]{border-color:#0369a1;background:#e0f2fe;color:#075985;font-weight:600}
.app-month-picker__panel button:disabled{opacity:.4;cursor:not-allowed}
.app-month-picker__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.app-month-picker__error{margin:0 0 10px;color:#be123c;font-size:13px}
@media(max-width:639px){input[type="month"],input[type="month"].app-month-input,.app-month-picker__trigger,.app-month-picker__month,.app-month-picker__utility,.app-month-picker__arrow,.app-month-picker__year{min-height:44px}}
