.oca-judge-portal {
	--oca-portal-width: min(1440px, calc(100vw - 32px));
	width: var(--oca-portal-width) !important;
	max-width: none !important;
	position: relative;
	left: auto !important;
	transform: none !important;
	margin: 16px 0 16px calc((100% - var(--oca-portal-width)) / 2) !important;
	overflow: hidden;
	border: 1px solid #d7e2ee;
	border-radius: 20px;
	background: #f4f7fb;
	box-shadow: 0 24px 70px rgba(0, 29, 74, .16);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,
body.oca-compops-judge-portal-page { min-height: 100%; margin: 0 !important; padding: 0 !important; background: #edf2f7; }

body.oca-compops-judge-portal-page { overflow-x: hidden; }

body.oca-compops-judge-portal-page .wp-block-post-title,
body.oca-compops-judge-portal-page .entry-title,
body.oca-compops-judge-portal-page main > article > header.entry-header { display: none !important; }

body.oca-compops-judge-portal-page .entry-content,
body.oca-compops-judge-portal-page .wp-block-post-content { max-width: none !important; }

.oca-judge-portal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 100px;
	padding: 22px 30px;
	background: linear-gradient(118deg, #001d4a 0%, #073e78 62%, #007a82 100%);
	color: #fff;
}

.oca-judge-portal .oca-brand__name,
.oca-judge-portal .oca-brand__tagline { color: #fff; }
.oca-judge-portal .oca-brand__tagline { opacity: .78; }
.oca-judge-portal__account { display: flex; align-items: center; gap: 10px; }
.oca-judge-portal__account > .dashicons { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.12); }
.oca-judge-portal__account > span { display: grid; }
.oca-judge-portal__account small { color: #b9d9fa; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.oca-judge-portal__account strong { color: #fff; }
.oca-judge-portal__account nav { display: flex; align-items: center; gap: 14px; margin-left: 12px; }
.oca-judge-portal__account a { color: #fff; font-weight: 750; white-space: nowrap; }
.oca-judge-portal__main { min-height: 62vh; padding: 26px; }
.oca-judge-portal__footer { display: flex; justify-content: space-between; gap: 20px; padding: 18px 30px; background: #001d4a; color: #b9cce3; font-size: 12px; }

.oca-judge-login { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); min-height: min(620px, calc(100vh - 210px)); overflow: hidden; border: 1px solid #d9e4ef; border-radius: 18px; background: #fff; }
.oca-judge-login__intro { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(38px,5vw,76px); background: radial-gradient(circle at 85% 15%,rgba(0,181,171,.22),transparent 30%), linear-gradient(145deg,#eef8ff,#f7f4ff); }
.oca-judge-login h1 { margin: 8px 0 14px; color: #001d4a; font-size: clamp(34px,5vw,58px); line-height: 1.02; }
.oca-judge-login__intro > p { max-width: 650px; color: #50647d; font-size: 17px; line-height: 1.7; }
.oca-judge-login__features { display: grid; gap: 12px; margin-top: 26px; }
.oca-judge-login__features span { display: flex; align-items: center; gap: 10px; color: #173451; font-weight: 700; }
.oca-judge-login__features i { color: #7134dd; }
.oca-judge-login__form { width: calc(100% - 48px); max-width: 480px; min-width: 0; align-self: center; justify-self: center; margin: 24px; padding: clamp(22px,3vw,34px); border: 1px solid #d7e3ef; border-radius: 16px; box-shadow: 0 16px 45px rgba(0,29,74,.09); }
.oca-judge-login__form h2 { margin: 0 0 22px; color: #001d4a; font-size: 25px; }
.oca-judge-login__form form > p { margin: 0 0 17px; }
.oca-judge-login__form label { display: block; margin-bottom: 7px; color: #122f4c; font-weight: 750; }
.oca-judge-login__form input[type="text"], .oca-judge-login__form input[type="password"] { width: 100%; min-height: 48px; }
.oca-judge-login__form input[type="submit"] { width: 100%; min-height: 50px; border: 0; border-radius: 10px; background: #001d4a; color: #fff; font-weight: 800; cursor: pointer; }
.oca-judge-login__reset { display: block; margin-top: 14px; color: #075c9f; text-align: center; }

.oca-judge-dashboard__hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 30px; border-radius: 17px; background: linear-gradient(135deg,#001d4a,#0b427d 70%,#006c78); color: #fff; }
.oca-judge-dashboard__hero h1 { margin: 7px 0 6px; color: #fff; font-size: clamp(27px,4vw,42px); }
.oca-judge-dashboard__hero p { max-width: 730px; margin: 0; color: #d6e5f6; }
.oca-judge-dashboard__hero .oca-eyebrow { color: #70fff1; }
.oca-judge-dashboard__stats { display: flex; gap: 9px; }
.oca-judge-dashboard__stats span { display: grid; min-width: 86px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.1); color: #d7e6f5; text-align: center; }
.oca-judge-dashboard__stats strong { color: #fff; font-size: 24px; }
.oca-judge-task-list { display: grid; gap: 11px; margin-top: 18px; }
.oca-judge-task { display: grid; grid-template-columns: 44px minmax(230px,1fr) minmax(190px,.65fr) auto 150px; align-items: center; gap: 16px; padding: 15px; border: 1px solid #d7e3ef; border-left: 5px solid #00b5ab; border-radius: 14px; background: #fff; }
.oca-judge-task.is-draft { border-left-color: #fd7d00; }
.oca-judge-task.is-submitted { border-left-color: #a0cc00; background: #fcfff8; }
.oca-judge-task.is-not_ready { border-left-color: #91a2b5; background: #f7f9fb; }
.oca-judge-task__order { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #edf5ff; color: #176cb2; font-size: 17px; font-weight: 850; }
.oca-judge-task__identity small, .oca-judge-task__ballot small { color: #176cb2; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.oca-judge-task__identity h2 { margin: 2px 0; color: #001d4a; font-size: 18px; }
.oca-judge-task__identity p, .oca-judge-task__ballot span { margin: 0; color: #59687c; font-size: 12px; }
.oca-judge-task__ballot { display: grid; gap: 2px; }
.oca-judge-task__ballot strong { color: #122f4c; }
.oca-judge-task .oca-button { justify-content: center; }
.oca-judge-empty { display: grid; justify-items: center; margin-top: 18px; padding: 70px 25px; border: 1px dashed #a8bdd4; border-radius: 16px; background: #fff; text-align: center; }
.oca-judge-empty > .dashicons { width: 54px; height: 54px; color: #319cf9; font-size: 54px; }
.oca-judge-empty h1, .oca-judge-empty h2 { margin-bottom: 6px; color: #001d4a; }
.oca-judge-empty p { max-width: 620px; color: #59687c; }

.oca-judge-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 14px; color: #075c9f; font-weight: 800; text-decoration: none; }
.oca-judge-ballot-page__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 27px; border-radius: 16px 16px 0 0; background: linear-gradient(125deg,#001d4a,#0d4d8c); color: #fff; }
.oca-judge-ballot-page__heading h1 { margin: 6px 0 3px; color: #fff; font-size: clamp(25px,4vw,38px); }
.oca-judge-ballot-page__heading p { margin: 0; color: #d4e4f5; }
.oca-judge-ballot-page__heading .oca-eyebrow { color: #72fff2; }
.oca-judge-ballot-page__type { display: grid; min-width: 220px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.1); }
.oca-judge-ballot-page__type small, .oca-judge-ballot-page__type span { color: #d6e6f7; }
.oca-judge-roster { display: flex; flex-wrap: wrap; gap: 7px; padding: 14px 20px; border: 1px solid #d5e2ee; border-top: 0; background: #edf5fc; }
.oca-judge-roster span { padding: 6px 9px; border-radius: 8px; background: #fff; color: #173451; font-size: 12px; font-weight: 700; }
.oca-judge-ballot-form { padding: 18px; border: 1px solid #d5e2ee; border-top: 0; border-radius: 0 0 16px 16px; background: #fff; }
.oca-judge-scoresheet-switcher{margin:0 0 12px}.oca-judge-scoresheet-switcher>p{display:flex;align-items:center;gap:7px;margin:0 2px;color:#536b86;font-size:13px}.oca-judge-scoresheet-switcher>p .dashicons{color:#008f88}.oca-judge-scoresheet-tabs{display:flex;gap:8px;overflow-x:auto;margin:0;padding:4px 2px 8px}.oca-judge-scoresheet-tab{display:grid;grid-template-columns:auto minmax(max-content,1fr) auto;align-items:center;gap:8px;min-width:210px;padding:11px 13px;border:1px solid #b9cde0;border-radius:11px;background:#f7faff;color:#173451;text-align:left;cursor:pointer}.oca-judge-scoresheet-tab>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e6f1fc;color:#176cb2;font-weight:850}.oca-judge-scoresheet-tab small{color:#60738c}.oca-judge-scoresheet-tab.is-active{border-color:#7134dd;background:#f5f0ff;box-shadow:0 0 0 2px rgba(113,52,221,.12)}.oca-judge-scoresheet-tab.is-active>span{background:#7134dd;color:#fff}.oca-judge-scoresheet-panel[hidden]{display:none!important}.oca-judge-not-ready{margin-top:0;border-top:0;border-radius:0 0 16px 16px}
.oca-judge-ballot-card { overflow: hidden; border: 1px solid #d8e3ef; border-radius: 13px; }
.oca-judge-ballot-card > header { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px; background: #f5f8fc; }
.oca-judge-ballot-card > header > div { display: grid; }
.oca-judge-ballot-card > header small { color: #59687c; }
.oca-judge-ballot-card > header strong { color: #001d4a; font-size: 17px; }
.oca-judge-ballot-card > fieldset { margin: 0; padding: 0; border: 0; }
.oca-judge-ballot-card > div:not(.oca-ballot-rule-strip), .oca-judge-ballot-card > fieldset > div { margin: 14px; }
.oca-ballot-rule-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 12px 14px; border-top: 1px solid #dce6f0; border-bottom: 1px solid #dce6f0; background: #f2f9ff; }
.oca-ballot-rule-strip span { display: grid; padding: 8px 10px; border-radius: 9px; background: #fff; }
.oca-ballot-rule-strip strong { color: #001d4a; }
.oca-ballot-rule-strip small, .oca-score-field-limits { color: #50647d; font-size: 11px; }
.oca-judge-ballot-actions { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: flex-end; gap: 10px; margin-top: 17px; padding: 14px; border-top: 1px solid #d9e4ee; background: rgba(255,255,255,.96); }
.oca-judge-ballot-actions .oca-button--ghost { margin-right: auto; }
.oca-judge-portal .oca-inline-notice { margin: 15px 0; }
.oca-judge-portal .oca-attempt-grid{grid-template-columns:repeat(auto-fit,minmax(124px,180px));justify-content:start}.oca-judge-portal .oca-attempt-card input,.oca-judge-portal .oca-attempt-card select{box-sizing:border-box;width:100%;min-width:0}.oca-judge-portal .oca-score-entry{padding-block:12px}.oca-judge-portal .oca-score-adjustments{grid-template-columns:1fr}

@media (max-width: 900px) {
	.oca-judge-login { grid-template-columns: 1fr; }
	.oca-judge-login__intro { padding: 40px 30px; }
	.oca-judge-dashboard__hero { align-items: flex-start; flex-direction: column; }
	.oca-judge-task { grid-template-columns: 40px minmax(0,1fr) auto; }
	.oca-judge-task__ballot { grid-column: 2; }
	.oca-judge-task > .oca-operations-status { grid-column: 3; grid-row: 1; }
	.oca-judge-task > .oca-button { grid-column: 3; grid-row: 2 / span 2; }
}

@media (max-width: 1180px) and (min-width: 901px) {
	.oca-judge-portal__main { padding: 18px; }
	.oca-judge-login { grid-template-columns: minmax(0,1fr) minmax(340px,.8fr); }
	.oca-judge-login__intro { padding: 42px; }
	.oca-judge-login h1 { font-size: clamp(38px,5vw,52px); }
	.oca-judge-login__intro > p { font-size: 15px; line-height: 1.55; }
}

@media (max-width: 620px) {
	.oca-judge-portal { --oca-portal-width: 100vw; width: 100vw !important; margin: 0 0 0 calc((100% - 100vw) / 2) !important; border: 0; border-radius: 0; }
	.oca-judge-portal__header { align-items: flex-start; padding: 18px; }
	.oca-judge-portal__account > .dashicons, .oca-judge-portal__account small { display: none; }
	.oca-judge-portal__account { align-items: flex-end; flex-direction: column; gap: 2px; text-align: right; }
	.oca-judge-portal__account nav { gap: 10px; margin: 0; font-size: 12px; }
	.oca-judge-portal__main { padding: 12px; }
	.oca-judge-login__intro { padding: 34px 22px; }
	.oca-judge-login__form { margin: 14px; padding: 22px; }
	.oca-judge-dashboard__hero { padding: 22px; }
	.oca-judge-dashboard__stats { width: 100%; }
	.oca-judge-dashboard__stats span { flex: 1; min-width: 0; padding: 10px 5px; }
	.oca-judge-task { grid-template-columns: 36px minmax(0,1fr); gap: 10px; }
	.oca-judge-task__order { width: 34px; height: 34px; }
	.oca-judge-task__identity { grid-column: 2; }
	.oca-judge-task__ballot { grid-column: 2; }
	.oca-judge-task > .oca-operations-status { grid-column: 2; grid-row: auto; justify-self: start; }
	.oca-judge-task > .oca-button { grid-column: 1 / -1; grid-row: auto; width: 100%; }
	.oca-judge-ballot-page__heading { align-items: flex-start; flex-direction: column; padding: 20px; }
	.oca-judge-ballot-page__type { width: 100%; min-width: 0; }
	.oca-ballot-rule-strip { grid-template-columns: 1fr; }
	.oca-judge-ballot-form { padding: 9px; }
	.oca-judge-ballot-actions { flex-wrap: wrap; }
	.oca-judge-ballot-actions .oca-button { flex: 1 1 100%; margin: 0; }
	.oca-judge-portal .oca-attempt-grid, .oca-judge-portal .oca-rubric-ballot-grid, .oca-judge-portal .oca-proficiency-score-grid { grid-template-columns: 1fr; }
	.oca-judge-portal__footer { padding: 15px 18px; }
}

/* Carry the OCA identity system into the focused judging experience. */
.oca-judge-portal__header{position:relative;background:radial-gradient(circle at 82% 12%,rgba(0,181,171,.27),transparent 25%),linear-gradient(118deg,#001d4a 0%,#073e78 62%,#007a82 100%)}.oca-judge-portal__header::after{position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fc5948 0 11%,#00b5ab 11% 23%,#319cf9 23% 35%,#7134dd 35% 47%,#f52d7c 47% 59%,#fd7d00 59% 71%,#fcbc00 71% 83%,#a0cc00 83% 100%);content:""}.oca-judge-portal__header>*{position:relative;z-index:1}.oca-judge-portal .oca-brand__identity{width:172px;height:60px}.oca-judge-dashboard__hero,.oca-judge-ballot-page__heading{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 12%,rgba(245,45,124,.22),transparent 22%),linear-gradient(135deg,#001d4a,#0b427d 68%,#007a82)}.oca-judge-dashboard__hero::after,.oca-judge-ballot-page__heading::after{position:absolute;right:-55px;bottom:-75px;width:170px;height:170px;border:27px solid rgba(252,188,0,.12);border-radius:50%;content:""}.oca-judge-dashboard__hero>*,.oca-judge-ballot-page__heading>*{position:relative;z-index:1}.oca-judge-task{box-shadow:0 7px 20px rgba(0,29,74,.055);transition:transform .15s,box-shadow .15s}.oca-judge-task:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,29,74,.1)}.oca-judge-login__intro{background:radial-gradient(circle at 85% 15%,rgba(0,181,171,.24),transparent 30%),radial-gradient(circle at 10% 90%,rgba(113,52,221,.11),transparent 28%),linear-gradient(145deg,#eef8ff,#fff8fc)}
@media(max-width:620px){.oca-judge-portal .oca-brand__identity{width:50px;height:50px}.oca-judge-dashboard__hero::after,.oca-judge-ballot-page__heading::after{display:none}}
