:root {
	--ufsc-navy: #20265f;
	--ufsc-blue: #2e4a96;
	--ufsc-red: #df1737;
	--ufsc-ink: #101828;
	--ufsc-muted: #667085;
	--ufsc-line: #e4e7ec;
	--ufsc-soft: #f5f7fb;
	--ufsc-card: #ffffff;
}

.ufsc-panel {
	background: var(--ufsc-card);
	border: 1px solid var(--ufsc-line);
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.ufsc-panel--soft { background: var(--ufsc-soft); }

.ufsc-pill {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	background: #eaf0ff;
	color: #243b82;
}

.ufsc-pill--soft {
	background: #f2f4f7;
	color: #475467;
}

.ufsc-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}

.ufsc-status-badge--open,
.ufsc-status-badge--approved,
.ufsc-status-badge--completed {
	background: #dcfce7;
	color: #166534;
}

.ufsc-status-badge--draft,
.ufsc-status-badge--scheduled {
	background: #e2e8f0;
	color: #334155;
}

.ufsc-status-badge--submitted,
.ufsc-status-badge--review_queue,
.ufsc-status-badge--running {
	background: #fef3c7;
	color: #92400e;
}

.ufsc-status-badge--rejected,
.ufsc-status-badge--closed,
.ufsc-status-badge--cancelled {
	background: #fee2e2;
	color: #991b1b;
}

.ufsc-status-badge--pending {
	background: #e0f2fe;
	color: #075985;
}

/* Club competitions list: one canonical layout grid. */
.ufsc-competitions-hub {
	width: 100%;
	max-width: none;
	margin: 18px 0 26px;
	color: var(--ufsc-ink);
}

.ufsc-competitions-hub,
.ufsc-competitions-hub * { box-sizing: border-box; }

.ufsc-competitions-hub__intro {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 124px;
	align-items: center;
	gap: 24px;
	width: 100%;
	margin: 0 0 16px;
	padding: 24px 26px;
	border-radius: 18px;
	background: linear-gradient(135deg, var(--ufsc-navy) 0%, var(--ufsc-blue) 100%);
	color: #fff;
	box-shadow: 0 12px 32px rgba(32, 38, 95, .16);
}

.ufsc-competitions-hub__intro::after {
	content: "";
	position: absolute;
	right: -48px;
	top: -72px;
	width: 210px;
	height: 210px;
	border: 26px solid rgba(255, 255, 255, .07);
	border-radius: 50%;
	pointer-events: none;
}

.ufsc-competitions-hub__eyebrow {
	display: inline-block;
	margin-bottom: 6px;
	color: #ffd4dc;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .14em;
}

.ufsc-competitions-hub__intro h2 {
	margin: 0 0 8px;
	color: #fff;
	font-size: clamp(25px, 2.6vw, 36px);
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: -.025em;
}

.ufsc-competitions-hub__intro p {
	max-width: 800px;
	margin: 0;
	color: #e5eaff;
	font-size: 15px;
	line-height: 1.55;
}

.ufsc-competitions-hub__count {
	position: relative;
	z-index: 1;
	width: 124px;
	padding: 14px 10px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 15px;
	background: rgba(255, 255, 255, .1);
	text-align: center;
}

.ufsc-competitions-hub__count strong {
	display: block;
	color: #fff;
	font-size: 28px;
	line-height: 1;
	font-weight: 900;
}

.ufsc-competitions-hub__count span {
	display: block;
	margin-top: 5px;
	color: #dce4ff;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .055em;
}

.ufsc-competitions-filters {
	width: 100%;
	margin: 0 0 16px;
	padding: 16px;
	border: 1px solid #dfe5ef;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .055);
}

.ufsc-competitions-filters__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(190px, 1.25fr) auto;
	gap: 10px;
	align-items: end;
}

.ufsc-competitions-filter {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.ufsc-competitions-filter span {
	color: #475467;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.ufsc-competitions-filter select,
.ufsc-competitions-filter input {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	padding: 9px 11px;
	border: 1px solid #d0d5dd;
	border-radius: 10px;
	background: #fbfcfe;
	color: var(--ufsc-ink);
}

.ufsc-competitions-filter select:focus,
.ufsc-competitions-filter input:focus {
	border-color: #8ca3df;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(46, 74, 150, .12);
}

.ufsc-competitions-filter-actions {
	display: flex;
	align-items: flex-end;
	gap: 8px;
}

.ufsc-competitions-filter-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 14px;
	border: 1px solid #d7def4;
	border-radius: 10px;
	background: #eef2ff;
	color: var(--ufsc-navy);
	font-weight: 900;
	text-decoration: none;
	white-space: nowrap;
}

.ufsc-competitions-filter-actions .button-primary {
	border-color: var(--ufsc-navy);
	background: var(--ufsc-navy);
	color: #fff;
}

.ufsc-competitions-filter-actions .button:hover {
	border-color: var(--ufsc-red);
	background: var(--ufsc-red);
	color: #fff;
}

.ufsc-competitions-table-wrapper {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	border: 1px solid #dfe5ef;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

.ufsc-competitions-table {
	width: 100%;
	min-width: 920px;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
}

.ufsc-competitions-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 13px 14px;
	border: 0;
	background: linear-gradient(180deg, #293675, var(--ufsc-navy));
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}

.ufsc-competitions-table tbody td {
	padding: 14px;
	border-bottom: 1px solid #edf0f4;
	background: #fff;
	vertical-align: middle;
}

.ufsc-competitions-table tbody tr:nth-child(even) td { background: #fbfcfe; }
.ufsc-competitions-table tbody tr:hover td { background: #f1f5ff; }
.ufsc-competitions-table tbody tr:last-child td { border-bottom: 0; }

.ufsc-competitions-table td:first-child strong {
	color: var(--ufsc-navy);
	font-size: 14px;
	font-weight: 900;
}

.ufsc-competitions-table .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border: 0;
	border-radius: 9px;
	background: var(--ufsc-navy);
	color: #fff;
	font-weight: 900;
	text-decoration: none;
}

.ufsc-competitions-table .button:hover {
	background: var(--ufsc-red);
	color: #fff;
}

.ufsc-badge-closed {
	margin-left: 6px;
	background: #fff0f1;
	color: #a70b23;
}

.ufsc-competitions-empty {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	min-height: 118px;
	padding: 22px 24px;
	border: 1px dashed #bdc8df;
	border-radius: 16px;
	background: linear-gradient(135deg, #f7f9fe, #fff);
	color: #344054;
}

.ufsc-competitions-empty__icon {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: #e9efff;
	color: var(--ufsc-blue);
	font-size: 25px;
	font-weight: 900;
}

.ufsc-competitions-empty strong {
	display: block;
	color: var(--ufsc-navy);
	font-size: 16px;
	font-weight: 900;
}

.ufsc-competitions-empty p {
	margin: 4px 0 0;
	color: var(--ufsc-muted);
	line-height: 1.5;
}

.ufsc-competitions-pagination {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin: 16px 0 0;
}

.ufsc-competitions-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid #d7def4;
	border-radius: 9px;
	background: #fff;
	color: var(--ufsc-navy);
	font-weight: 800;
	text-decoration: none;
}

.ufsc-competitions-page.is-current,
.ufsc-competitions-page:hover {
	border-color: var(--ufsc-navy);
	background: var(--ufsc-navy);
	color: #fff;
}

.ufsc-competition-hero {
	display: grid;
	grid-template-columns: minmax(220px, 320px) 1fr;
	align-items: start;
	gap: 14px;
	margin-bottom: 14px;
	padding: 16px;
	border: 1px solid var(--ufsc-line);
	border-radius: 14px;
	background: linear-gradient(170deg, #fff, #f8fbff);
}

.ufsc-competition-main {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.ufsc-competition-photo {
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.ufsc-section-title { margin-bottom: 10px; }

.ufsc-entry-stepper__title {
	display: inline-block;
	margin-bottom: 6px;
	font-weight: 700;
}

.ufsc-entry-stepper__list {
	display: grid;
	gap: 4px;
	margin: 0;
	padding-left: 18px;
}

.ufsc-entry-stepper__list .is-current {
	color: #0a4b78;
	font-weight: 700;
}

.ufsc-entry-stepper__status { margin: 10px 0 0; }

.ufsc-entry-form-summary {
	margin-bottom: 14px;
	padding: 10px 12px;
	border: 1px solid #dbe8f5;
	border-radius: 10px;
	background: #f8fbff;
}

.ufsc-entry-form-summary ul {
	margin: 6px 0 0;
	padding-left: 18px;
}

.ufsc-info-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 12px;
}

.ufsc-info-card {
	padding: 12px;
	border: 1px solid var(--ufsc-line);
	border-radius: 10px;
	background: #fff;
}

.ufsc-doc-links {
	display: grid;
	gap: 6px;
	margin: 0;
	padding-left: 16px;
}

.ufsc-competition-entry-actions .button { min-height: 36px; }

@media (max-width: 1100px) {
	.ufsc-competitions-filters__row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ufsc-competitions-filter-actions {
		grid-column: 1 / -1;
	}
	.ufsc-competition-hero { grid-template-columns: 1fr; }
	.ufsc-info-cards { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.ufsc-competitions-hub__intro {
		grid-template-columns: 1fr;
		padding: 20px;
	}
	.ufsc-competitions-hub__count { width: 108px; }
	.ufsc-competitions-filters__row { grid-template-columns: 1fr; }
	.ufsc-competitions-filter-actions {
		grid-column: auto;
		flex-direction: column;
	}
	.ufsc-competitions-filter-actions .button { width: 100%; }
	.ufsc-competitions-empty {
		align-items: flex-start;
		padding: 18px;
	}
}

.ufsc-club-note {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 22px;
	padding: 28px;
	margin-top: 18px;
	box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06);
	color: #0f172a;
}
.ufsc-club-note__hero { background: linear-gradient(135deg, #0f172a, #1e293b); border-radius: 18px; padding: 24px; margin-bottom: 22px; color: #fff; }
.ufsc-club-note__title { margin: 0 0 8px; font-size: 28px; font-weight: 900; color: #fff; }
.ufsc-club-note__subtitle { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: #f1f5f9; }
.ufsc-club-note__meta { margin: 0; font-size: 15px; color: #cbd5e1; }
.ufsc-club-note__box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 18px 20px; margin-bottom: 16px; }
.ufsc-club-note__box h4 { margin: 0 0 12px; font-size: 18px; font-weight: 800; color: #0f172a; }
.ufsc-club-note__box p { margin: 0 0 10px; color: #334155; line-height: 1.7; }
.ufsc-club-note__box p:last-child { margin-bottom: 0; }
.ufsc-club-note__box ul { margin: 0; padding-left: 20px; }
.ufsc-club-note__box li { margin-bottom: 8px; color: #334155; line-height: 1.6; }
.ufsc-club-note__box li:last-child { margin-bottom: 0; }
.ufsc-club-note__box--warning { background: #fff7ed; border-color: #fed7aa; }
.ufsc-club-note__box--warning h4,.ufsc-club-note__box--warning p,.ufsc-club-note__box--warning li { color: #9a3412; }
.ufsc-club-note__box--alert { background: #fef2f2; border-color: #fecaca; }
.ufsc-club-note__box--alert h4,.ufsc-club-note__box--alert p,.ufsc-club-note__box--alert li { color: #991b1b; }
.ufsc-club-note__box--dark { background: linear-gradient(135deg, #111827, #1f2937); border-color: #111827; }
.ufsc-club-note__box--dark h4 { color: #fff; }
.ufsc-club-note__box--dark p,.ufsc-club-note__box--dark li { color: #e5e7eb; }
.ufsc-club-note__box--docs { background: #eff6ff; border-color: #bfdbfe; }
.ufsc-club-note__box--equip { background: #f0fdf4; border-color: #bbf7d0; }
.ufsc-club-note--plain,.ufsc-club-note--html { line-height: 1.7; }
.ufsc-club-note--plain p { margin: 0 0 12px; color: #334155; }

.ufsc-competition-regulations .ufsc-doc-links a {
	display: inline-block;
	text-decoration: none;
	font-weight: 600;
}
.ufsc-competition-regulations .ufsc-doc-links a:hover { text-decoration: underline; }

@media (max-width: 768px) {
	.ufsc-club-note { padding: 20px; }
	.ufsc-club-note__title { font-size: 22px; }
	.ufsc-club-note__subtitle { font-size: 16px; }
}

.ufsc-competition-page {
	background: #f3f6fb;
	padding: 32px 16px;
	color: #0f172a;
}
.ufsc-competition-container { width: 100%; max-width: 1180px; margin: 0 auto; }
.ufsc-competition-page * { box-sizing: border-box; }
.ufsc-competition-page .ufsc-competition-hero {
	display: grid;
	grid-template-columns: minmax(220px, 360px) 1fr;
	gap: 24px;
	align-items: stretch;
	background: linear-gradient(135deg, #0f172a, #1e293b);
	border-radius: 24px;
	padding: 22px;
	margin-bottom: 24px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
	overflow: hidden;
}
.ufsc-competition-page .ufsc-competition-hero__media { border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.08); min-height: 220px; }
.ufsc-competition-page .ufsc-competition-hero__media img { width:100%; height:100%; object-fit:cover; display:block; }
.ufsc-competition-page .ufsc-competition-hero__content { display:flex; flex-direction:column; justify-content:center; color:#fff; padding:10px 4px; }
.ufsc-competition-page .ufsc-competition-hero__content h1 { margin:10px 0 12px; color:#fff; font-size:clamp(30px,4vw,52px); line-height:1.05; font-weight:900; letter-spacing:-.04em; }
.ufsc-competition-page .ufsc-competition-hero__content p { margin:0; color:#dbeafe; font-size:17px; line-height:1.6; }
.ufsc-competition-page .ufsc-badge { display:inline-flex; width:fit-content; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:#dc2626; color:#fff; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.ufsc-competition-page .ufsc-competition-section { background:#fff; border:1px solid #e2e8f0; border-radius:22px; padding:24px; margin-bottom:22px; box-shadow:0 12px 35px rgba(15,23,42,.06); }
.ufsc-competition-page .ufsc-competition-section h2,.ufsc-competition-page .ufsc-competition-section h3 { margin-top:0; color:#0f172a; font-weight:900; letter-spacing:-.02em; }
.ufsc-competition-page .ufsc-practical-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ufsc-competition-page .ufsc-practical-item { background:#f8fafc; border:1px solid #e2e8f0; border-radius:16px; padding:16px; }
.ufsc-competition-page .ufsc-practical-item strong { display:block; margin-bottom:6px; color:#64748b; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.ufsc-competition-page .ufsc-practical-item span { display:block; color:#0f172a; font-size:15px; font-weight:800; line-height:1.45; }
.ufsc-competition-page .ufsc-competition-grid--two { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin-bottom:22px; }
.ufsc-competition-page .ufsc-info-card { background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:22px; box-shadow:0 10px 28px rgba(15,23,42,.05); }
.ufsc-competition-page .ufsc-info-card h3 { margin:0 0 14px; font-size:20px; font-weight:900; color:#0f172a; }
.ufsc-competition-page .ufsc-doc-links { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ufsc-competition-page .ufsc-doc-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:14px; background:#f8fafc; border:1px solid #e2e8f0; color:#1e3a8a; font-weight:800; text-decoration:none; }
.ufsc-competition-page .ufsc-doc-links a:hover { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.ufsc-competition-page .ufsc-doc-links a::after { content:"↗"; font-size:14px; opacity:.75; }
.ufsc-competition-page .ufsc-competition-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.ufsc-competition-page button,.ufsc-competition-page .button,.ufsc-competition-page input[type="submit"] { border-radius:12px; padding:10px 16px; min-height:42px; font-weight:800; border:0; background:#111827; color:#fff; }
.ufsc-competition-page button:hover,.ufsc-competition-page .button:hover,.ufsc-competition-page input[type="submit"]:hover { background:#dc2626; color:#fff; }
.ufsc-competition-page input,.ufsc-competition-page select,.ufsc-competition-page textarea { border:1px solid #cbd5e1; border-radius:12px; padding:10px 12px; min-height:42px; background:#fff; color:#0f172a; }
.ufsc-competition-page label { font-weight:800; color:#334155; margin-bottom:6px; }
.ufsc-competition-page table { width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; }
.ufsc-competition-page th,.ufsc-competition-page td { padding:12px; border-bottom:1px solid #e2e8f0; }
.ufsc-competition-page th { background:#f8fafc; color:#0f172a; font-weight:900; text-align:left; }
.ufsc-competition-page tr:last-child td { border-bottom:0; }
.ufsc-competition-page .ufsc-competition-section--notes .ufsc-club-note { max-width: 100%; margin-top: 0; }

@media (max-width: 1024px) {
	.ufsc-competition-page .ufsc-practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ufsc-competition-page .ufsc-competition-hero { grid-template-columns:1fr; }
	.ufsc-competition-page .ufsc-competition-grid--two { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
	.ufsc-competition-page { padding:18px 10px; }
	.ufsc-competition-page .ufsc-competition-section,.ufsc-competition-page .ufsc-info-card { padding:18px; border-radius:18px; }
	.ufsc-competition-page .ufsc-practical-grid { grid-template-columns:1fr; }
	.ufsc-competition-page .ufsc-competition-actions { flex-direction:column; }
	.ufsc-competition-page button,.ufsc-competition-page .button,.ufsc-competition-page input[type="submit"] { width:100%; }
}

.ufsc-competition-page .ufsc-event-poster-card {
	display: grid;
	grid-template-columns: minmax(220px, 340px) 1fr;
	gap: 24px;
	align-items: center;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 22px;
	padding: 22px;
	margin-bottom: 22px;
	box-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);
}
.ufsc-competition-page .ufsc-event-poster-card__image { background:#0f172a; border-radius:18px; overflow:hidden; min-height:260px; display:flex; align-items:center; justify-content:center; }
.ufsc-competition-page .ufsc-event-poster-card__image img { width:100%; height:100%; max-height:360px; object-fit:contain; display:block; }
.ufsc-competition-page .ufsc-event-poster-card__content h2 { margin:10px 0; font-size:clamp(24px,3vw,34px); font-weight:900; color:#0f172a; letter-spacing:-.03em; }
.ufsc-competition-page .ufsc-event-poster-card__content p { margin:0; color:#475569; font-size:16px; line-height:1.6; }
.ufsc-competition-page .ufsc-event-poster-card__badge { display:inline-flex; width:fit-content; align-items:center; padding:7px 12px; border-radius:999px; background:#dc2626; color:#fff; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.ufsc-competition-page .ufsc-event-poster-card__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.ufsc-competition-page .ufsc-event-poster-card__btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 18px; border-radius:12px; background:#111827; color:#fff; font-weight:900; text-decoration:none; transition:.2s ease; }
.ufsc-competition-page .ufsc-event-poster-card__btn:hover { background:#dc2626; color:#fff; transform:translateY(-1px); }
.ufsc-competition-page .ufsc-event-poster-card__btn--secondary { background:#f8fafc; color:#111827; border:1px solid #cbd5e1; }
.ufsc-competition-page .ufsc-event-poster-card__btn--secondary:hover { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
@media (max-width: 768px) {
	.ufsc-competition-page .ufsc-event-poster-card { grid-template-columns:1fr; padding:18px; }
	.ufsc-competition-page .ufsc-event-poster-card__image { min-height:auto; }
	.ufsc-competition-page .ufsc-event-poster-card__actions { flex-direction:column; }
	.ufsc-competition-page .ufsc-event-poster-card__btn { width:100%; }
}


