.bn-range-source { display:none !important; }
.bn-range-control { display:inline-flex; align-items:stretch; max-width:100%; min-width:0; border:1px solid #dbe4ed; border-radius:10px; background:#fff; color:#104b5a; overflow:hidden; }
.bn-range-control button { appearance:none; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; min-height:46px; cursor:pointer; }
.bn-range-control .bn-range-open { display:flex; align-items:center; justify-content:center; gap:9px; padding:10px 14px; width:auto; min-width:0; }
.bn-range-control .bn-range-clear { border-left:1px solid #dbe4ed; width:44px; padding:5px; font-size:26px; flex:none; }
.list-filter-row .bn-range-control .bn-range-open { width:auto; padding:10px 14px; }
.list-filter-row .bn-range-control .bn-range-clear { width:44px; padding:5px; font-size:26px; }
.bn-range-control .bn-range-caption { font-size:14px; font-weight:600; color:inherit; white-space:normal; }
.bn-range-icon { display:flex; flex:none; }
.bn-range-control button:hover { background:#f4f8fa; }
.bn-range-control button:disabled { opacity:.45; cursor:default; }
.bn-range-control button:focus-visible,.bn-range-dialog button:focus-visible,.bn-range-dialog input:focus-visible { outline:3px solid #f59e0b; outline-offset:-3px; }
.bn-range-dialog { box-sizing:border-box; width:min(1100px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:20px; border:0; border-top:6px solid #f59e0b; border-radius:18px; background:#fff; color:#104b5a; box-shadow:0 24px 80px #14253c55; overflow:auto; font-family:inherit; }
.bn-range-dialog::backdrop { background:rgba(19,29,45,.65); }
.bn-range-dialog h2 { margin:0 0 20px; padding:8px 0 12px; border-bottom:3px solid #fff0d7; font-size:25px; color:#182541; }
.bn-range-body { display:grid; grid-template-columns:170px minmax(0,1fr) minmax(0,1fr); border:1px solid #dbe4ed; border-radius:12px; overflow:hidden; }
.bn-range-presets { display:flex; flex-direction:column; gap:3px; padding:10px 8px; background:#f7f9fb; }
.bn-range-dialog button { font-family:inherit; cursor:pointer; }
.bn-range-presets button { border:0; border-left:4px solid transparent; border-radius:7px; padding:11px 8px; background:transparent; color:#104b5a; text-align:left; font-size:15px; }
.bn-range-presets button:hover { background:#eaf1f4; }
.bn-range-presets button[aria-pressed=true] { background:#0e4050; color:#fff; border-left-color:#f59e0b; font-weight:700; }
.bn-range-panel { padding:14px 12px 12px; border-left:1px solid #dbe4ed; min-width:0; }
.bn-range-label { display:block; font-size:14px; font-weight:700; color:#526d7d; margin-bottom:6px; }
.bn-range-dialog .bn-range-date { box-sizing:border-box; display:block; width:100%; min-width:0; height:48px; border:1px solid #aec4db; border-radius:9px; padding:9px 12px; background:white; font:inherit; color:#104b5a; }
.bn-range-month-nav { display:flex; justify-content:space-between; align-items:center; gap:4px; margin:12px 0 6px; }
.bn-range-month-nav button { border:0; background:transparent; color:#104b5a; font-size:32px; width:40px; height:40px; border-radius:7px; }
.bn-range-month { font-size:16px; font-weight:600; text-align:center; }
.bn-range-weekdays,.bn-range-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; }
.bn-range-weekdays span { padding:8px 0; font-size:14px; font-weight:700; }
.bn-range-grid button { min-width:0; min-height:40px; padding:6px 0; border:0; background:white; color:#104b5a; font-size:15px; border-radius:0; }
.bn-range-grid button.is-other-month { color:#7a8f9d; }
.bn-range-grid button.is-in-range { background:#fff2dc; }
.bn-range-grid button.is-endpoint { background:#f59e0b; color:white; font-weight:700; border-radius:6px; }
.bn-range-grid button:hover { box-shadow:inset 0 0 0 2px #d48a0b; }
.bn-range-grid button[aria-current=date]:not(.is-endpoint) { text-decoration:underline; text-underline-offset:4px; }
.bn-range-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #dbe4ed; margin-top:14px; padding-top:14px; }
.bn-range-summary { font-size:16px; font-weight:600; }
.bn-range-error { font-size:13px; color:#ad203e; margin-top:4px; }
.bn-range-actions { display:flex; gap:10px; flex:none; }
.bn-range-actions button { border:1px solid #dbe4ed; border-radius:12px; padding:13px 20px; font-size:16px; font-weight:600; background:white; color:#104b5a; }
.bn-range-actions .bn-range-apply { border-color:#f59e0b; background:#f59e0b; color:#fff; }
.bn-range-actions button:disabled { opacity:.45; cursor:default; }
@media(max-width:760px) {
 .bn-range-dialog { padding:14px; }
 .bn-range-body { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bn-range-presets { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid #dbe4ed; }
 .bn-range-presets button { font-size:13px; padding:9px 5px; }
 .bn-range-panel { padding:10px 7px; }
 .bn-range-panel:nth-child(2) { border-left:0; }
 .bn-range-month { font-size:14px; }
 .bn-range-grid button { font-size:13px; min-height:36px; }
 .bn-range-weekdays span { font-size:12px; }
 .bn-range-footer { align-items:stretch; flex-direction:column; }
 .bn-range-actions { justify-content:flex-end; }
}
@media(max-width:480px) {
 .bn-range-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:12px; }
 .bn-range-dialog h2 { font-size:21px; margin-bottom:12px; }
 .bn-range-body { grid-template-columns:minmax(0,1fr); }
 .bn-range-panel { border-left:0; border-top:1px solid #dbe4ed; }
 .bn-range-presets { grid-column:auto; }
 .bn-range-grid button { min-height:38px; }
 .bn-range-footer { position:sticky; bottom:-12px; background:white; padding-bottom:12px; }
}
