.nwp-status { min-height: 1.4em; font-weight: 600; }
.nwp-status.nwp-ok { color: #1a7f37; }
.nwp-status.nwp-error { color: #c00; }
.nwp-help { font-size: 0.88em; color: #666; margin: 0.3em 0 0.8em; }
.nwp-notice { padding: 8px 12px; background: #f6f7f7; border-radius: 6px; }
.nwp-pick-form [hidden] { display: none !important; }

.nwp-user-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 0.9em; color: #666; margin-bottom: 0.8em; padding-bottom: 0.6em; border-bottom: 1px solid #eee; }

/* "Your picks are in" banner */
.nwp-picks-in { padding: 10px 14px; margin: 0 0 1em; background: #eaf7ee; border: 1px solid #b7e1c3; border-radius: 8px; font-size: 0.92em; line-height: 1.5; color: #1d3b26; }
.nwp-warn { color: #8a5a00; font-weight: 600; }

/* Pick form */
.nwp-games { list-style: none; margin: 0 0 1em; padding: 0; }
.nwp-game { border: 1px solid #e2e2e2; border-radius: 8px; padding: 10px 12px; margin-bottom: 8px; background: #fff; }
.nwp-game.nwp-locked { background: #f4f4f4; }
.nwp-game-meta { display: flex; gap: 8px; align-items: center; font-size: 0.8em; color: #888; margin-bottom: 6px; }
.nwp-tag { font-size: 0.85em; font-weight: 700; padding: 1px 7px; border-radius: 10px; background: #e7f0fa; color: #2271b1; }
.nwp-tag-locked { background: #e4e4e4; color: #555; }
.nwp-tag-nopick { background: #fbeaea; color: #a00; }
.nwp-choices { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; }
.nwp-at { color: #999; font-weight: 600; }
.nwp-choice { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 2px solid #ddd; border-radius: 6px; cursor: pointer; min-width: 0; background: #fff; }
.nwp-choice span { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nwp-choice small { color: #999; }
.nwp-choice input { margin: 0; }
.nwp-choice.nwp-selected { border-color: #2271b1; background: #eef5fc; }
.nwp-your-pick { display: none; margin-left: auto; font-size: 0.75em; font-style: normal; font-weight: 700; color: #2271b1; white-space: nowrap; }
.nwp-locked .nwp-choice { cursor: default; }
.nwp-locked .nwp-choice:not(.nwp-selected) { opacity: 0.45; }
.nwp-locked .nwp-choice.nwp-selected .nwp-your-pick { display: inline; }
@media (max-width: 560px) {
	.nwp-choices { grid-template-columns: 1fr; }
	.nwp-at { display: none; }
}
.nwp-tiebreaker { border: 1px dashed #2271b1; border-radius: 8px; padding: 12px; margin-bottom: 1em; }
.nwp-tiebreaker-input { width: 110px; padding: 6px 8px; font-size: 1.05em; margin-top: 6px; }
.nwp-submit-picks { padding: 10px 24px; font-size: 1em; }
.nwp-phone-box { border: 1px solid #e2e2e2; border-radius: 8px; padding: 12px; margin-bottom: 1em; background: #fff; }
.nwp-phone-input { display: block; width: 100%; max-width: 240px; padding: 6px 8px; font-size: 1.05em; margin-top: 6px; box-sizing: border-box; }
.nwp-optional { font-weight: normal; color: #888; font-size: 0.9em; }
.nwp-field-note { display: block; font-weight: normal; font-size: 0.85em; color: #777; margin-top: 3px; }

/* Confirmation after saving */
.nwp-confirm { margin-top: 1em; padding: 14px 16px; background: #eaf7ee; border: 1px solid #b7e1c3; border-radius: 8px; }
.nwp-confirm p { margin: 0 0 0.4em; }
.nwp-confirm-title { font-weight: 700; font-size: 1.05em; color: #1a7f37; }
.nwp-confirm-msg { color: #1d3b26; }
.nwp-confirm-sub { font-size: 0.88em; color: #555; }
.nwp-confirm-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 0.8em; }
.nwp-btn { display: inline-block; padding: 8px 16px; border-radius: 6px; background: #2271b1; color: #fff !important; font-weight: 600; text-decoration: none !important; }
.nwp-btn:hover, .nwp-btn:focus { background: #135e96; }
.nwp-btn-secondary { background: #fff; color: #2271b1 !important; border: 2px solid #2271b1; padding: 6px 14px; }
.nwp-btn-secondary:hover, .nwp-btn-secondary:focus { background: #eef5fc; }

/* Auth gate */
.nwp-auth-gate { max-width: 380px; }
.nwp-auth-tabs { display: flex; gap: 4px; margin-bottom: 1em; border-bottom: 1px solid #ddd; }
.nwp-auth-tab { flex: 1; padding: 8px 0; background: none; border: none; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 600; color: #888; }
.nwp-auth-tab.active { color: #2271b1; border-bottom-color: #2271b1; }
.nwp-auth-form label { display: block; margin-bottom: 0.8em; font-weight: 600; font-size: 0.9em; }
.nwp-auth-form input { width: 100%; padding: 8px; margin-top: 4px; font-weight: normal; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
.nwp-lost-password { display: block; margin-top: 0.8em; font-size: 0.85em; }

/* Tables */
.nwp-table-wrap { overflow-x: auto; }
.nwp-table { border-collapse: collapse; width: 100%; font-size: 0.9em; }
.nwp-table th, .nwp-table td { padding: 7px 10px; text-align: center; border-bottom: 1px solid #eee; white-space: nowrap; }
.nwp-table th:nth-child(2), .nwp-table td:nth-child(2) { text-align: left; }
.nwp-selections-grid th:first-child, .nwp-selections-grid td:first-child { text-align: left; }
.nwp-selections-grid th:nth-child(2), .nwp-selections-grid td:nth-child(2) { text-align: center; }
.nwp-table thead th { background: #f6f7f7; font-weight: 700; font-size: 0.85em; }
.nwp-row-winner { background: #fff8e1; }
.nwp-winner-banner { padding: 8px 12px; background: #fff8e1; border-radius: 6px; }
.nwp-week-nav { display: flex; flex-wrap: wrap; gap: 8px; font-size: 0.9em; }
.nwp-sel-hidden { color: #999; }
.nwp-sel-win { color: #1a7f37; font-weight: 700; }
.nwp-sel-loss { color: #c00; text-decoration: line-through; }
.nwp-sel-push { color: #a67c00; font-weight: 700; }
.nwp-key { font-size: 0.85em; color: #555; margin-top: 10px; }

/* My picks */
.nwp-week-block { margin-bottom: 1.4em; }
.nwp-week-block h4 { margin: 0 0 0.4em; display: flex; align-items: center; gap: 8px; }
.nwp-my-picks-list { list-style: none; margin: 0; padding: 0; }
.nwp-my-picks-list li { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 8px; align-items: center; padding: 6px 4px; border-bottom: 1px solid #eee; font-size: 0.92em; }
.nwp-my-picks-list img { vertical-align: middle; border-radius: 3px; }
.nwp-matchup small { color: #888; }
.nwp-badge { font-size: 0.75em; font-weight: 700; padding: 2px 8px; border-radius: 10px; background: #eee; color: #555; text-align: center; }
.nwp-result-win .nwp-badge, .nwp-badge-win { background: #eaf7ee; color: #1a7f37; }
.nwp-result-loss .nwp-badge { background: #fbeaea; color: #c00; }
.nwp-result-push .nwp-badge { background: #fdf3e0; color: #a67c00; }
