
/* No-fail Picker Styles */
.nf-pop { position: absolute; background: #fff; border: 1px solid #e2e2e2; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.18); z-index: 100000; overflow: hidden; min-width: 280px; }
.nf-hidden { display:none; }
.nf-head { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; background:#fafafa; border-bottom:1px solid #eee; }
.nf-title { font-weight:600; }
.nf-nav { display:flex; gap:8px; }
.nf-btn { background:#fff; border:1px solid #ddd; border-radius:8px; padding:4px 8px; cursor:pointer; }
.nf-btn:hover { background:#f0f0f0; }
.nf-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:4px; padding:8px; }
.nf-wday { text-align:center; font-size:12px; color:#777; }
.nf-cell { text-align:center; padding:8px 0; border-radius:8px; cursor:pointer; }
.nf-cell:hover { background:#f3f3f3; }
.nf-cell.nf-out { opacity:.35; pointer-events:none; }
.nf-cell.nf-today { outline:1px dashed #999; }
.nf-foot { display:flex; justify-content:space-between; padding:8px 12px; border-top:1px solid #eee; background:#fafafa; }
.nf-link { color:#0a58ca; cursor:pointer; user-select:none; }
