/* Shared report date-range picker (wwwroot/js/date-range-picker.js). Bootstrap 5.3 variables, so it
   follows the page theme. */
.rr-drp { position: relative; display: inline-block; max-width: 100%; }
.rr-drp-control { max-width: 100%; }
/* The admin's Bootstrap build gives every .btn a fixed 200px width; the picker sizes its own. */
.rr-drp .btn { width: auto; }
.rr-drp-step { flex: 0 0 auto !important; }
.rr-drp-toggle { display: inline-flex; align-items: center; gap: .4rem; min-width: 14rem; text-align: left; white-space: nowrap; overflow: hidden; }
.rr-drp-preset { font-weight: 600; }
.rr-drp-preset:empty { display: none; }
.rr-drp-preset:not(:empty)::after { content: "·"; margin-left: .4rem; font-weight: 400; color: var(--bs-secondary-color); }
.rr-drp-dates { overflow: hidden; text-overflow: ellipsis; }
.rr-drp-caret { margin-left: auto; font-size: .7em; opacity: .7; }
.rr-drp-loading .rr-drp-toggle { opacity: .6; pointer-events: none; }

.rr-drp-panel {
    position: absolute; top: calc(100% + .25rem); left: 0; z-index: 1065;
    background: var(--bs-body-bg); color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color); border-radius: .5rem;
    width: max-content; max-width: calc(100vw - 1rem);
}
.rr-drp-panel[hidden] { display: none; }
.rr-drp-body { display: flex; }
.rr-drp-side { width: 13.5rem; border-right: 1px solid var(--bs-border-color); padding: .5rem 0; max-height: 26rem; overflow-y: auto; }
.rr-drp-presets { display: flex; flex-direction: column; }
.rr-drp-preset-item {
    border: 0; background: none; color: inherit; text-align: left; padding: .4rem 1rem; font-size: .875rem;
    border-left: 3px solid transparent;
}
.rr-drp-preset-item:hover:not(:disabled), .rr-drp-preset-item:focus-visible { background: var(--bs-tertiary-bg); outline: none; }
.rr-drp-preset-item.active { border-left-color: var(--bs-primary); background: var(--bs-primary-bg-subtle); font-weight: 600; }
.rr-drp-preset-item:disabled { color: var(--bs-secondary-color); opacity: .55; }
.rr-drp-sep { border-top: 1px solid var(--bs-border-color); margin: .35rem 0; }
.rr-drp-ndays { display: flex; align-items: center; gap: .5rem; padding: .3rem 1rem; margin: 0; font-size: .875rem; border-left: 3px solid transparent; }
.rr-drp-ndays.active { border-left-color: var(--bs-primary); background: var(--bs-primary-bg-subtle); }
.rr-drp-ndays input { width: 4.5rem; }

.rr-drp-main { padding: .75rem 1rem; }
.rr-drp-inputs { display: flex; align-items: flex-end; gap: .5rem; margin-bottom: .5rem; }
.rr-drp-inputs label { display: flex; flex-direction: column; margin: 0; }
.rr-drp-inputs input { width: 9.5rem; }
.rr-drp-dash { padding-bottom: .3rem; color: var(--bs-secondary-color); }
.rr-drp-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: .25rem; }
.rr-drp-nav-title { font-weight: 600; font-size: .9rem; text-align: center; }
.rr-drp-months { display: flex; gap: 1.25rem; }
.rr-drp-month-title { text-align: center; font-size: .8rem; font-weight: 600; color: var(--bs-secondary-color); margin: .25rem 0; }
.rr-drp-row { display: grid; grid-template-columns: repeat(7, 2.15rem); }
.rr-drp-dow { text-align: center; font-size: .75rem; color: var(--bs-secondary-color); padding: .2rem 0; }
.rr-drp-blank { height: 2.15rem; }
.rr-drp-day {
    width: 2.15rem; height: 2.15rem; border: 0; background: none; color: inherit; font-size: .85rem;
    border-radius: 0; padding: 0;
}
.rr-drp-day:hover:not(:disabled) { background: var(--bs-tertiary-bg); }
.rr-drp-day:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: -2px; }
.rr-drp-day.today { font-weight: 700; text-decoration: underline; }
.rr-drp-day.in-range { background: var(--bs-primary-bg-subtle); }
.rr-drp-day.pending { background: var(--bs-secondary-bg); }
.rr-drp-day.start, .rr-drp-day.end { background: var(--bs-primary); color: #fff; }
.rr-drp-day.start { border-top-left-radius: 50%; border-bottom-left-radius: 50%; }
.rr-drp-day.end { border-top-right-radius: 50%; border-bottom-right-radius: 50%; }
.rr-drp-day:disabled { color: var(--bs-secondary-color); opacity: .4; }

.rr-drp-footer { display: flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-top: 1px solid var(--bs-border-color); }
.rr-drp-msg { margin-right: auto; }

@media (max-width: 767.98px) {
    .rr-drp-months .rr-drp-month:first-child { display: none; }
}
@media (max-width: 575.98px) {
    .rr-drp-toggle { min-width: 0; }
    .rr-drp-panel { position: fixed; left: .5rem !important; right: .5rem !important; top: 3.5rem; width: auto; max-height: calc(100vh - 4.5rem); overflow-y: auto; }
    .rr-drp-body { flex-direction: column; }
    .rr-drp-side { width: auto; border-right: 0; border-bottom: 1px solid var(--bs-border-color); max-height: 12rem; }
    .rr-drp-inputs input { width: 100%; }
    .rr-drp-inputs label { flex: 1; }
    .rr-drp-months { display: block; }
    .rr-drp-month { width: 100%; }
    .rr-drp-row { grid-template-columns: repeat(7, 1fr); }
    .rr-drp-day { width: 100%; }
}
