.competition-filters,.competition-pagination { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin:16px 0; }
.nav-item[hidden] { display:none; }
body[data-current-page^="competition"] #dateRangeSelector,body[data-current-page="notifications"] #dateRangeSelector { display:none; }
.competition-filters label,.competition-form label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.competition-filters input,.competition-filters select,.competition-form input,.competition-form select,.competition-form textarea { width:100%; max-width:100%; padding:10px; border:1px solid var(--border-color,#344054); border-radius:8px; background:var(--bg-secondary,#17202b); color:var(--text-primary,#fff); }
.competition-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.competition-form .wide { grid-column:1/-1; }
.competition-form fieldset { min-width:0; padding:16px; border:1px solid var(--border-color,#344054); border-radius:10px; }
.competition-table-scroll { width:100%; max-width:100%; overflow-x:auto; }
.competition-table-scroll table { width:100%; border-collapse:collapse; }
.competition-table-scroll th,.competition-table-scroll td { padding:12px; text-align:left; border-bottom:1px solid var(--border-color,#344054); white-space:nowrap; max-width:340px; overflow:hidden; text-overflow:ellipsis; }
.competition-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.competition-detail { min-width:0; overflow-wrap:anywhere; }
.competition-detail .table-card { margin:16px 0; padding:16px; min-width:0; }
.competition-detail dl { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,3fr); gap:8px; }
.competition-detail dd { margin:0; overflow-wrap:anywhere; }
body[data-current-page^="competition"] #page-content,body[data-current-page="notifications"] #page-content { min-width:0; max-width:100%; }
.competition-form-error { color:var(--danger,#ff6b6b); }
.competition-detail .competition-schedule-badge { display:inline-block; padding:4px 8px; border:1px solid var(--border-color); border-radius:6px; }
.competition-detail .competition-schedule-actions { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:480px) {
 .competition-detail .competition-schedule-table td { flex-direction:column; align-items:stretch; text-align:left; white-space:normal; max-width:100%; overflow-wrap:anywhere; gap:4px; }
 .competition-detail .competition-schedule-table td::before { max-width:100%; }
}
.competition-modal { max-width:900px; width:calc(100vw - 32px); max-height:90vh; overflow-y:auto; }
.competition-pagination button,.competition-tabs button { padding:8px 14px; border-radius:8px; cursor:pointer; }
.competition-tabs button[aria-selected="true"] { outline:2px solid var(--accent,#00d4aa); }
.notification-inbox-item { padding:16px; border-bottom:1px solid var(--border-color,#344054); overflow-wrap:anywhere; }
.notification-inbox-item.unread { border-left:3px solid var(--accent,#00d4aa); }
@media(max-width:768px) { .competition-form { grid-template-columns:1fr; } .competition-filters label { flex:1 1 140px; } .competition-detail dl { grid-template-columns:1fr; } .competition-detail dd { margin-bottom:8px; } }

/* These rules only target new module classes or their current-page wrappers. */
.competition-form [hidden] { display:none !important; }
.competition-modal { padding:24px; background:var(--bg-card); box-sizing:border-box; }
.competition-modal .modal-header { gap:16px; align-items:center; margin-bottom:20px; }
.competition-modal .modal-header h2 { margin:0; font-size:1.35rem; }
.competition-form legend { padding:0 8px; font-weight:600; font-size:1rem; }
.competition-form label { font-size:.875rem; font-weight:500; align-self:start; }
.competition-help { font-size:.77rem; line-height:1.5; font-weight:400; color:var(--text-secondary); }
.competition-form input,.competition-form select { min-height:42px; box-sizing:border-box; }
.competition-form textarea { min-height:88px; resize:vertical; box-sizing:border-box; }
.competition-required > input,.competition-required > textarea { border-left:3px solid var(--accent,#00d4aa); }
.competition-form :focus-visible,.competition-modal button:focus-visible { outline:2px solid var(--accent,#00d4aa); outline-offset:3px; }
.competition-form button,.competition-modal button { padding:9px 14px; border:1px solid var(--border-color); border-radius:8px; cursor:pointer; background:var(--bg-elevated); color:var(--text-primary); }
.competition-form button[type=submit] { background:var(--accent,#00d4aa); color:#080d14; font-weight:600; }
.competition-form button:disabled { opacity:.5; cursor:not-allowed; }
.competition-form [data-stage] { margin:12px 0; background:var(--bg-secondary); }
.competition-form [data-remove-stage] { justify-self:start; color:var(--text-secondary); }
.competition-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; }
.competition-lifecycle { border:1px solid var(--border-color); border-radius:10px; padding:16px; }
.competition-lifecycle h3 { font-size:1rem; margin:0 0 10px; }
.competition-lifecycle p,.competition-lifecycle li { font-size:.83rem; line-height:1.6; color:var(--text-secondary); }
.competition-lifecycle ul { padding-left:20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; }
body[data-current-page^="competition"] #page-content .table-card { padding:20px; margin-top:20px; }
body[data-current-page^="competition"] #page-content .dashboard-grid { grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); }
body[data-current-page^="competition"] #page-content .stat-value { font-size:1.6rem; overflow-wrap:anywhere; }
body[data-current-page^="competition"] #page-content .charts-grid { grid-template-columns:minmax(0,1fr); }
.competition-tabs button { background:var(--bg-card); color:var(--text-secondary); border:1px solid var(--border-color); }
.competition-tabs button[aria-selected="true"] { color:var(--text-primary); background:var(--bg-elevated); }
.notification-inbox-item h3 { font-size:1rem; margin:10px 0; }
.notification-inbox-item p { line-height:1.6; color:var(--text-secondary); margin:8px 0; }
.notification-inbox-item.unread { background:var(--bg-card-hover); }
.notification-inbox-item .notification-category { display:inline-block; border:1px solid var(--border-color); border-radius:6px; padding:2px 8px; font-size:.75rem; }
@media(max-width:768px) {
 .competition-modal { padding:16px; max-height:92vh; }
 .competition-lifecycle ul { grid-template-columns:1fr; }
 .competition-filters { align-items:stretch; }
 .competition-filters input,.competition-filters select { box-sizing:border-box; min-width:0; }
}
