/* ---------- Date picker popup (shared across every NovelNumbers app) ---------- */
.date-picker-wrap{ position:relative; display:inline-block; }
.date-picker-input{ cursor:pointer; }
.date-picker-popup{
  position:absolute; top:calc(100% + 6px); left:0; z-index:50;
  width:260px; padding:12px;
  background:var(--bg-raised); border:1px solid var(--line-soft); border-radius:var(--radius);
  box-shadow:0 12px 32px rgba(0,0,0,0.4);
}
.dpp-header{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;
}
.dpp-month-label{
  font-family:var(--font-mono); font-size:13px; font-weight:600; color:var(--ink);
}
.dpp-nav{
  width:26px; height:26px; padding:0; border-radius:6px; border:1px solid var(--line-soft);
  background:var(--bg-panel-2); color:var(--ink-dim); font-size:15px; line-height:1; cursor:pointer;
}
.dpp-nav:hover{ border-color:var(--gold); color:var(--ink); }
.dpp-weekdays{
  display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; margin-bottom:4px;
}
.dpp-weekdays span{
  font-family:var(--font-mono); font-size:10px; color:var(--ink-faint); text-transform:uppercase;
}
.dpp-days{
  display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px;
}
.dpp-day{
  aspect-ratio:1; width:100%; min-width:0; border:none; border-radius:6px; background:transparent;
  color:var(--ink-dim); font-family:var(--font-mono); font-size:12px; cursor:pointer;
}
.dpp-day:hover{ background:var(--bg-panel-2); color:var(--ink); }
.dpp-day-blank{ cursor:default; }
.dpp-day-blank:hover{ background:transparent; }
.dpp-day-today{ box-shadow:inset 0 0 0 1px var(--line-soft); color:var(--ink); }
.dpp-day-selected{ background:var(--gold); color:var(--bg-deep); font-weight:600; }
.dpp-day-selected:hover{ background:var(--gold); color:var(--bg-deep); }