/* Migrated layouts only. Ownership: docs/product/shared_style_contract.md. */
.ui-page,.ui-page *,.ui-page *::before,.ui-page *::after { box-sizing:border-box; }
.ui-page { margin:0; background:var(--brand-navy); color:var(--brand-paper); font:var(--ui-text-base)/1.55 var(--ui-font); }
.ui-page [hidden] { display:none !important; }
.ui-page a { color:var(--brand-blue); text-underline-offset:3px; }
.ui-page a:hover { text-decoration-thickness:2px; }
.ui-page :focus-visible { outline:3px solid var(--brand-blue); outline-offset:3px; }
.ui-header :focus-visible,.ui-hero :focus-visible,.ui-footer :focus-visible { outline-color:var(--brand-olive); }
.ui-shell { width:min(100%,var(--ui-content-width)); margin-inline:auto; padding-inline:var(--ui-space-6); }
.ui-header { border-bottom:1px solid #ffffff26; }
.ui-header-inner { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-5); padding-block:var(--ui-space-5); }
.ui-page .ui-brand { display:flex; align-items:center; gap:var(--ui-space-3); color:var(--brand-paper); text-decoration:none; flex-shrink:0; }
.ui-brand img { width:60px; height:60px; object-fit:contain; }
.ui-brand strong { display:block; font-size:var(--ui-text-sm); line-height:1.25; letter-spacing:.06em; text-transform:uppercase; }
.ui-brand small { display:block; color:var(--ui-on-dark); font-size:.75rem; margin-top:var(--ui-space-1); }
.ui-nav { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ui-space-1); }
.ui-nav a,.ui-more summary { display:inline-flex; align-items:center; min-height:var(--ui-control-height); padding:var(--ui-space-2) var(--ui-space-3); border-radius:var(--ui-radius-sm); color:var(--brand-paper); font-size:var(--ui-text-sm); font-weight:600; text-decoration:none; cursor:pointer; }
.ui-nav a:hover,.ui-more summary:hover { background:#ffffff12; }
.ui-nav a[aria-current=page] { background:var(--brand-olive); color:var(--brand-navy); }
.ui-more { position:relative; }
.ui-more summary { list-style:none; gap:var(--ui-space-2); }
.ui-more summary::-webkit-details-marker { display:none; }
.ui-more summary::after { content:'⌄'; }
.ui-more-menu { position:absolute; z-index:5; right:0; top:100%; width:200px; padding:var(--ui-space-2); background:var(--brand-paper); border:1px solid var(--ui-line); border-radius:var(--ui-radius); box-shadow:0 8px 24px #0003; }
.ui-more-menu a { display:flex; color:var(--ui-ink); }
.ui-more-menu a:hover { background:var(--ui-soft); }
.ui-skip { position:absolute; top:-100px; left:var(--ui-space-4); z-index:10; background:var(--brand-paper); padding:var(--ui-space-3); }
.ui-skip:focus { top:var(--ui-space-4); }
.ui-hero { padding-block:var(--ui-space-6); }
.ui-eyebrow { display:block; margin:0 0 var(--ui-space-2); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ui-hero .ui-eyebrow { color:var(--brand-olive); }
.ui-page h1 { margin:0 0 var(--ui-space-3); font-size:var(--ui-h1); line-height:1.12; letter-spacing:-.035em; font-weight:700; }
.ui-page h2 { margin:0 0 var(--ui-space-2); font-size:var(--ui-h2); line-height:1.25; letter-spacing:-.02em; }
.ui-page h3 { margin:0; font-size:var(--ui-h3); line-height:1.35; }
.ui-page p { margin:0 0 var(--ui-space-4); }
.ui-lead { max-width:var(--ui-reading-width); color:var(--ui-on-dark); font-size:var(--ui-text-lg); }
.ui-hero .ui-lead { margin-bottom:0; }
.ui-hero-actions { display:flex; flex-wrap:wrap; gap:var(--ui-space-3); margin-top:var(--ui-space-5); }
.ui-stack { display:grid; gap:var(--ui-space-5); }
.ui-panel { min-width:0; padding:var(--ui-space-5); border:1px solid var(--ui-line); border-radius:var(--ui-radius); background:var(--brand-paper); color:var(--ui-ink); }
.ui-panel > :last-child { margin-bottom:0; }
.ui-muted { color:var(--ui-muted); }
.ui-mobile-copy { display:none; }
.ui-filter-toggle,.ui-responsive-disclosure > summary { display:none; }
.ui-filter-content > :last-child { margin-bottom:0; }
.ui-disclosure { margin-top:var(--ui-space-4); font-size:var(--ui-text-sm); }
.ui-disclosure summary { min-height:var(--ui-control-height); align-content:center; cursor:pointer; color:var(--brand-blue); font-weight:600; }
.ui-disclosure p { margin-top:var(--ui-space-2); }
.ui-section-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--ui-space-4); margin-bottom:var(--ui-space-5); }
.ui-section-head h2,.ui-section-head p { margin-bottom:0; }
.ui-page .ui-button { display:inline-flex; justify-content:center; align-items:center; gap:var(--ui-space-2); min-height:var(--ui-control-height); padding:var(--ui-space-2) var(--ui-space-4); border:1px solid var(--brand-blue); border-radius:var(--ui-radius-sm); background:var(--brand-blue); color:var(--ui-white); font:600 var(--ui-text-sm)/1.4 var(--ui-font); text-decoration:none; cursor:pointer; }
.ui-button:hover { filter:brightness(.92); text-decoration:none; }
.ui-page .ui-button--secondary { background:var(--ui-white); color:var(--brand-blue); border-color:#a4b0c5; }
.ui-hero .ui-button--secondary { background:transparent; color:var(--brand-paper); border-color:#7d8ba4; }
.ui-button:disabled { background:var(--ui-soft); color:var(--ui-muted); border-color:var(--ui-line); cursor:not-allowed; filter:none; }
.ui-field { display:grid; gap:var(--ui-space-2); min-width:0; align-content:start; color:var(--ui-ink); font-size:var(--ui-text-sm); font-weight:600; }
.ui-field input,.ui-field select,.ui-field textarea { width:100%; min-width:0; min-height:var(--ui-control-height); padding:var(--ui-space-2) var(--ui-space-3); border:1px solid #8e9bb0; border-radius:var(--ui-radius-sm); background:var(--ui-white); color:var(--ui-ink); font:400 var(--ui-text-base)/1.4 var(--ui-font); }
.ui-field input:disabled { background:var(--ui-soft); color:var(--ui-muted); }
.ui-field [aria-invalid=true] { border:2px solid var(--ui-danger); }
.ui-field small { font-size:var(--ui-text-sm); font-weight:400; color:var(--ui-muted); }
.ui-field .ui-error { color:var(--ui-danger); }
.ui-filter-grid { display:grid; grid-template-columns:140px minmax(180px,1fr) minmax(180px,1fr) auto; align-items:end; gap:var(--ui-space-4); }
.ui-badge { display:inline-flex; align-items:center; gap:var(--ui-space-2); padding:var(--ui-space-1) var(--ui-space-3); border-radius:var(--ui-radius-pill); background:var(--ui-soft); color:var(--ui-muted); font-size:.75rem; font-weight:700; line-height:1.5; }
.ui-badge--live,.ui-badge--success { color:var(--ui-positive); background:var(--ui-positive-bg); }
.ui-badge--planned { color:var(--brand-blue); background:var(--ui-info-bg); }
.ui-badge--final { color:var(--ui-ink); }
.ui-stat-row { display:flex; flex-wrap:wrap; gap:var(--ui-space-6); margin-top:var(--ui-space-5); }
.ui-stat { display:flex; align-items:baseline; gap:var(--ui-space-2); }
.ui-stat strong { font-size:1.75rem; line-height:1.2; font-variant-numeric:tabular-nums; }
.ui-stat span { color:var(--ui-on-dark); font-size:var(--ui-text-sm); }
.ui-table-wrap { max-width:100%; overflow:auto; border:1px solid var(--ui-line); border-radius:var(--ui-radius-sm); }
.ui-table-wrap:focus-visible { outline-offset:2px; }
.ui-table { width:100%; border-collapse:collapse; font-size:var(--ui-text-sm); white-space:normal; }
.ui-table th,.ui-table td { padding:var(--ui-space-3) var(--ui-space-4); border-bottom:1px solid var(--ui-line); text-align:left; vertical-align:top; }
.ui-table thead { background:var(--ui-soft); }
.ui-table th { font-weight:600; }
.ui-table tbody tr:last-child > * { border-bottom:0; }
.ui-table .numeric { text-align:right; font-variant-numeric:tabular-nums; }
.ui-table tbody tr:hover { background:#f3f6fc; }
.ui-table--sticky-first th:first-child { position:sticky; left:0; background:var(--brand-paper); }
.ui-table--sticky-first thead th:first-child { background:var(--ui-soft); }
.ui-table caption { text-align:left; padding:var(--ui-space-3); font-weight:600; }
.ui-notice { padding:var(--ui-space-4); border-left:4px solid var(--brand-blue); border-radius:var(--ui-radius-sm); background:var(--ui-info-bg); color:var(--ui-ink); font-size:var(--ui-text-sm); }
.ui-notice--success { border-color:var(--ui-positive); background:var(--ui-positive-bg); }
.ui-notice--error { border-color:var(--ui-danger); background:var(--ui-danger-bg); }
.ui-empty { padding:var(--ui-space-5); border:1px dashed #9aa7bb; border-radius:var(--ui-radius-sm); color:var(--ui-muted); text-align:center; }
.ui-list { list-style:none; padding:0; margin:0; }
.ui-list li { padding-block:var(--ui-space-3); border-bottom:1px solid var(--ui-line); }
.ui-list li:first-child { padding-top:0; }
.ui-list li:last-child { padding-bottom:0; border-bottom:0; }
.ui-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ui-space-5); }
.ui-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--ui-space-4); padding-block:var(--ui-space-6); color:var(--ui-on-dark); font-size:var(--ui-text-sm); }
.ui-footer a { color:var(--brand-paper); }
.ui-review-banner { background:#fff0cf; color:#483719; padding:var(--ui-space-2) var(--ui-space-4); text-align:center; font-size:.75rem; }
.ui-review-banner a { color:inherit; }
.ui-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1000px) { .ui-header-inner { flex-direction:column; align-items:flex-start; gap:var(--ui-space-4); } .ui-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ui-shell { padding-inline:var(--ui-space-4); } .ui-header-inner { padding-block:var(--ui-space-4); } .ui-brand img { width:44px; height:44px; } .ui-brand small { display:none; } .ui-nav { gap:0; } .ui-nav a,.ui-more summary { padding-inline:var(--ui-space-3); font-size:.8125rem; } .ui-hero { padding-block:var(--ui-space-5); } .ui-panel { padding:var(--ui-space-4); } .ui-stack { gap:var(--ui-space-4); } .ui-split { grid-template-columns:1fr; gap:var(--ui-space-4); } .ui-stat-row { gap:var(--ui-space-5); } .ui-stat { gap:var(--ui-space-1); } .ui-stat strong { font-size:1.5rem; } .ui-stat span { font-size:.75rem; } .ui-table th,.ui-table td { padding:var(--ui-space-3); } .ui-filter-grid { gap:var(--ui-space-3); } }
@media(prefers-reduced-motion:no-preference) { .ui-button { transition:filter .15s; } }
@media(max-width:600px) { .ui-nav { position:relative; } .ui-more { position:static; } .ui-more-menu { left:0; right:auto; top:100%; } }
@media(max-width:600px) {
 .ui-desktop-copy { display:none; }
 .ui-mobile-copy { display:inline; }
 .ui-page--compact-mobile .ui-header-inner { padding-block:var(--ui-space-3); gap:var(--ui-space-2); }
 .ui-page--compact-mobile .ui-hero { padding-block:var(--ui-space-4); }
 .ui-page--compact-mobile .ui-hero h1 { font-size:1.75rem; margin-bottom:var(--ui-space-2); }
 .ui-page--compact-mobile .ui-lead { font-size:var(--ui-text-base); }
 .ui-page--compact-mobile .ui-stat-row { margin-top:var(--ui-space-3); }
 .ui-filter-panel { padding-block:var(--ui-space-2); }
 .ui-filter-toggle { display:flex; align-items:center; gap:var(--ui-space-3); min-height:var(--ui-control-height); cursor:pointer; list-style:none; }
 .ui-filter-toggle::-webkit-details-marker { display:none; }
 .ui-filter-toggle span { flex:1; color:var(--ui-muted); font-size:.75rem; text-align:right; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
 .ui-filter-toggle::after { content:'⌄'; color:var(--brand-blue); }
 .ui-filter-panel[open] > summary::after { content:'⌃'; }
 .ui-filter-panel[open] .ui-filter-content { padding-block:var(--ui-space-3) var(--ui-space-2); }
 .ui-responsive-disclosure > summary { display:list-item; min-height:var(--ui-control-height); align-content:center; color:var(--brand-blue); font-size:var(--ui-text-sm); font-weight:600; cursor:pointer; }
 .ui-responsive-disclosure[open] > div { padding-block:var(--ui-space-2); }
}

/* Reusable event/team labels: dynamic roles are supplied by the results macro. */
.ui-page .result-label { display:inline-flex; align-items:center; max-width:100%; padding:var(--ui-space-1) var(--ui-space-3); border-radius:var(--ui-radius-pill); background:var(--label-bg); color:var(--label-ink); font-size:var(--ui-text-sm); line-height:1.4; font-weight:700; overflow-wrap:anywhere; }
