
  /* ===== 日期范围（双日历）筛选组件 daterange_common ===== */
  .rg{ position:relative; flex:0 0 auto; }
  .rg-btn{ display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 10px; border:1.5px solid var(--line); border-radius:10px; background:var(--soft); color:var(--ink); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; transition:border-color .2s, background .2s, color .2s; white-space:nowrap; }
  .rg-btn:hover{ border-color:var(--rose); background:#fff; }
  .rg-btn.on{ border-color:var(--rose); background:#fbe9ef; color:var(--rose-deep); }
  .rg-ico{ width:15px; height:15px; flex:0 0 15px; position:relative; border:1.5px solid currentColor; border-radius:3px; opacity:.75; box-sizing:border-box; }
  .rg-ico::before{ content:''; position:absolute; left:-1px; right:-1px; top:2px; height:1.5px; background:currentColor; }
  .rg-ico::after{ content:''; position:absolute; top:-4px; left:2px; width:1.5px; height:4px; background:currentColor; box-shadow:6px 0 0 currentColor; }
  .rg-caret{ width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; opacity:.55; }
  .rg-pop{ position:absolute; top:calc(100% + 8px); right:0; left:auto; width:max-content; z-index:640; display:none; background:#fff; border:1.5px solid var(--line); border-radius:16px; box-shadow:0 30px 64px -26px rgba(120,70,95,.55); }
  .rg-pop.show{ display:flex; animation:rgIn .18s ease; }
  @keyframes rgIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
  .rg-side{ width:112px; flex:0 0 112px; border-right:1px solid var(--line); padding:14px 10px; background:linear-gradient(180deg,#fbf6f8,#fff); border-radius:16px 0 0 16px; }
  .rg-side-t{ font-size:11px; color:var(--muted); font-weight:700; padding:0 6px 9px; letter-spacing:.5px; }
  .rg-presets{ display:flex; flex-direction:column; gap:4px; }
  .rg-preset{ text-align:left; border:none; background:transparent; font-family:inherit; font-size:12.5px; font-weight:600; color:var(--ink); padding:8px 10px; border-radius:9px; cursor:pointer; transition:background .15s,color .15s; }
  .rg-preset:hover{ background:#fbe9ef; color:var(--rose-deep); }
  .rg-preset.on{ background:var(--brand-grad); color:#fff; box-shadow:0 6px 14px -8px rgba(194,94,119,.9); }
  .rg-main{ padding:14px 16px 12px; }
  .rg-cals{ display:flex; gap:18px; }
  .rg-cal{ width:238px; }
  .rg-cal-h{ display:flex; align-items:center; justify-content:space-between; height:30px; margin-bottom:6px; }
  .rg-cal-t{ font-size:13px; font-weight:700; color:var(--ink); }
  .rg-nav{ width:26px; height:26px; border:none; background:var(--soft); border-radius:8px; color:var(--rose-deep); font-size:15px; line-height:1; cursor:pointer; transition:background .15s; padding:0; }
  .rg-nav:hover{ background:#fbe9ef; }
  .rg-nav-sp{ width:26px; height:26px; flex:0 0 26px; }
  .rg-dow{ display:grid; grid-template-columns:repeat(7,1fr); margin-bottom:2px; }
  .rg-dow span{ text-align:center; font-size:11px; color:var(--muted); font-weight:600; padding:4px 0; }
  .rg-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
  .rg-day{ position:relative; height:32px; display:flex; align-items:center; justify-content:center; font-size:12.5px; color:var(--ink); border-radius:8px; cursor:pointer; transition:background .12s,color .12s; }
  .rg-day:hover{ background:#fbe9ef; }
  .rg-day.out{ visibility:hidden; pointer-events:none; }
  .rg-day.today::after{ content:''; position:absolute; bottom:4px; left:50%; transform:translateX(-50%); width:4px; height:4px; border-radius:50%; background:var(--rose-deep); }
  .rg-day.inr{ background:#f7e3ea; border-radius:0; color:var(--rose-deep); }
  .rg-day.sel-s,.rg-day.sel-e{ background:var(--brand-grad); color:#fff; font-weight:700; box-shadow:0 6px 14px -8px rgba(194,94,119,.9); }
  .rg-day.sel-s{ border-radius:8px 0 0 8px; }
  .rg-day.sel-e{ border-radius:0 8px 8px 0; }
  .rg-day.sel-s.sel-e{ border-radius:8px; }
  .rg-day.sel-s.today::after,.rg-day.sel-e.today::after{ background:#fff; }
  .rg-foot{ display:flex; align-items:center; gap:10px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
  .rg-inputs{ display:flex; align-items:center; gap:6px; flex:1; }
  .rg-inputs input{ width:110px; height:34px; border:1.5px solid var(--line); border-radius:9px; background:var(--soft); text-align:center; font-family:inherit; font-size:12.5px; color:var(--ink); }
  .rg-tilde{ color:var(--muted); font-size:12.5px; }
  .rg-acts{ display:flex; gap:8px; flex:0 0 auto; }
  .rg-clear,.rg-ok{ font-family:inherit; font-size:12.5px; font-weight:700; border-radius:9px; padding:0 16px; height:34px; cursor:pointer; border:none; transition:filter .15s,background .15s,color .15s; white-space:nowrap; }
  .rg-clear{ background:var(--soft); color:var(--muted); }
  .rg-clear:hover{ background:#f0e6eb; color:var(--ink); }
  .rg-ok{ background:var(--brand-grad); color:#fff; box-shadow:0 8px 18px -10px rgba(194,94,119,.9); }
  .rg-ok:hover{ filter:brightness(1.05); }
