:root{font-family:var(--crv-font, system-ui, sans-serif);color:var(--crv-text, #172436);background:var(--crv-background, #f2f5f9);line-height:1.6}*{box-sizing:border-box}body{margin:0}main{max-width:var(--crv-width, 850px);margin:auto;padding:24px 16px 64px}h1{font-size:clamp(1.8rem,5vw,2.6rem)}h2{margin-top:2rem}form,article{background:var(--crv-surface, white);padding:20px;border:1px solid var(--crv-border, #c4cdda);border-radius:10px;margin:16px 0}article form{padding:0;border:0}label{display:block;font-weight:600;margin-top:12px}input,textarea{width:100%;padding:12px;font:inherit;border:1px solid #68778b;border-radius:5px;background:var(--crv-surface, white);color:inherit}button{font:inherit;padding:10px 18px;background:var(--crv-accent, #173e75);color:white;border:0;border-radius:5px;cursor:pointer;margin-top:16px;min-height:44px}a{color:var(--crv-link, #174c92);overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--crv-focus, #9a5200);outline-offset:3px}.notice{padding:14px;background:#fff1dc;border-left:4px solid var(--crv-focus, #9a5200)}.description{white-space:pre-wrap}.dates{display:grid;gap:12px}@media(min-width:600px){.dates{grid-template-columns:1fr 1fr}}

select{width:100%;padding:12px;font:inherit;border:1px solid #68778b;border-radius:5px;background:var(--crv-surface, white);color:inherit}select:focus-visible{outline:3px solid var(--crv-focus, #9a5200);outline-offset:3px}fieldset{min-width:0;margin:20px 0;padding:16px;border:1px solid var(--crv-border, #c4cdda);border-radius:5px}legend{font-weight:600}fieldset p{font-size:.95rem}
.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--crv-surface, white)}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--crv-border, #c4cdda);vertical-align:top}th{background:#e4ebf4}dt{font-weight:600}dd{margin:0 0 10px}#setup-key{font-family:ui-monospace,monospace;font-size:1rem}

[hidden] { display: none !important; }

input[type="checkbox"],input[type="radio"]{width:auto;min-width:20px;min-height:20px;margin-right:8px;vertical-align:middle}summary{cursor:pointer;min-height:44px;padding:8px 0}summary:focus-visible{outline:3px solid var(--crv-focus, #9a5200);outline-offset:3px}nav{display:flex;flex-wrap:wrap;gap:8px}article{overflow-wrap:anywhere}

.site-inner { max-width: var(--crv-width, 850px); margin-inline: auto; padding: 1rem; }
.site-header, .site-footer { background: var(--crv-header, #173e75); color: var(--crv-header-text, white); }
.site-brand { display: flex; align-items: center; gap: .75rem; font-size: 1.25rem; font-weight: 700; }
.site-brand img { max-height: 3rem; max-width: 10rem; }
.site-nav { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.site-nav a { color: inherit; padding-block: .5rem; }
.site-nav a:focus-visible { outline-color: currentColor; }
.skip-link { position: absolute; left: -10000px; }
.skip-link:focus { left: 1rem; top: 1rem; background: white; color: black; padding: .5rem; }

/* Shared public and portal status alerts and page chrome. */
.page-alerts { margin: 0 0 1.25rem; }
.status-alert { padding: 1rem 1.25rem; margin: 0 0 .75rem; border: 1px solid; border-left-width: .35rem; border-radius: .5rem; overflow-wrap: anywhere; }
.status-alert p { margin: .5rem 0 0; }
.status-alert a { color: inherit; text-decoration: underline; }
.alert-success { color: #14532d; background: #ecfdf3; border-color: #25834b; }
.alert-error { color: #7f1d1d; background: #fff1f2; border-color: #b42332; }
.alert-warning { color: #713f12; background: #fffbeb; border-color: #a66b0b; }
.alert-info { color: #1e3a8a; background: #eff6ff; border-color: #3866b0; }
.site-header > .site-inner { position: relative; padding-top: 2.6rem; }
.nav-user { position: absolute; top: .6rem; right: 0; font-size: .875rem; text-align: right; max-width: 100%; overflow-wrap: anywhere; }
.site-header .nav-user a { color: inherit; font-weight: 700; }
.site-footer > .footer-layout { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: end; }
.footer-copyright { text-align: center; font-size: .875rem; }
.footer-version { text-align: right; font-size: .8rem; }
@media (max-width: 700px) {
 .site-footer > .footer-layout { grid-template-columns: 1fr 1fr; }
 .footer-copyright { grid-column: 1 / -1; grid-row: 1; }
 .footer-label { grid-column: 1; }
 .footer-version { grid-column: 2; }
 .nav-user { right: .25rem; }
}

/* Alliance recommendation tables and decision controls */
.recommendation-section{margin:2rem 0}.recommendation-table-wrap{border:1px solid var(--crv-border,#c4cdda);border-radius:8px}.recommendation-table{min-width:1080px}.recommendation-table th{white-space:nowrap}.recommendation-table td{vertical-align:middle}.recommendation-sort{display:inline-block;color:inherit;text-decoration:none}.recommendation-sort:hover{text-decoration:underline}.recommendation-player-name,.recommendation-player-id{display:block;white-space:nowrap}.recommendation-player-name{font-weight:700}.recommendation-player-id{font-size:.875rem;color:var(--crv-muted,#526176)}.recommendation-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.recommendation-action-form{display:inline-flex;margin:0;padding:0;background:transparent;border:0}.recommendation-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;margin:0;padding:7px 9px;font-size:.875rem}.recommendation-action img{width:20px;height:20px;filter:brightness(0) invert(1)}.recommendation-action.green{background:#167447}.recommendation-action.amber{background:#a76300}.recommendation-action.red{background:#a8323e}.recommendation-action:disabled{opacity:.45;cursor:not-allowed}.recommendation-status{font-weight:600}
@media(max-width:600px){.recommendation-table-wrap{overflow-x:auto}.recommendation-action{padding:7px;min-width:40px}.recommendation-action span{font-size:.8rem}}

.recommendation-status.amber{display:inline-block;padding:4px 8px;border-radius:5px;background:#fff0cf;color:#754400}.recommendation-status small{font-size:.8em}
