/* Season portal: an extension of the approved V1 institutional identity. */
.portal{font-size:14px;line-height:1.55}.portal main{padding-bottom:0}.portal main:focus{outline:0}.portal .nav-link{font-size:13px}.portal .sidebar-label{font-size:10px}.portal .sidebar-credit{font-size:9px}.portal .source-link{font-size:12px}.portal .button{font-size:12px;min-height:42px}.portal .breadcrumb{font-size:12px}.portal .edition{font-size:10px;letter-spacing:.4px}.portal .main-nav{gap:5px}.p-nav-icon{font-size:21px;line-height:1;width:19px;text-align:center;color:#9fb4c8}.p-link-arrow{margin-left:auto}.portal .sidebar-bottom{padding-top:25px}.portal .season-card .eyebrow{font-size:9px}.portal .season-card>div{font-size:11px}.portal .topbar-actions{gap:15px}.portal .sidebar{overflow-y:auto}.portal .topbar{padding-left:32px;padding-right:32px}
.p-context{display:flex;align-items:flex-end;gap:16px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--line)}.p-field{display:flex;flex-direction:column;gap:6px;min-width:0}.p-field>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--muted)}.p-field select,.p-field input{background:white;border:1px solid #d7e1e9;border-radius:6px;padding:10px 12px;min-height:42px;color:var(--ink);font-size:13px;max-width:100%;min-width:0}.p-field input{width:100%}.p-context .p-field:nth-child(2){min-width:175px}.p-context .p-field:nth-child(3){min-width:155px}.p-context-note{font-size:11px;color:var(--muted);margin-left:auto;padding-bottom:10px}.p-context-note strong{color:var(--ink)}.p-kicker{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:#547086;margin-bottom:7px}.p-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.p-heading h1{font-size:32px;letter-spacing:-1px}.p-heading h1::after{content:'.';color:var(--sky)}.p-heading p:not(.p-kicker){font-size:13px;color:var(--muted);margin-top:10px;max-width:670px}.p-heading-aside{color:var(--muted);font-size:11px;white-space:nowrap}.p-heading-aside strong{display:block;color:var(--ink);font-size:15px}.p-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 15px}.p-section-head h2{font-size:22px;letter-spacing:-.5px}.p-section-head p{font-size:12px;color:var(--muted);margin-top:5px}.p-text-link{color:#087ba5;font-size:12px;font-weight:700;padding:8px 0;display:inline-block}.p-text-link:hover{text-decoration:underline}.p-divisions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.p-division{padding:17px 18px;background:white;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;min-height:104px;position:relative;transition:border-color .15s,background .15s}.p-division:hover{border-color:#86bdd5;background:#fbfdff}.p-division.active{border-color:#9ed1e4;background:#edf8fd;box-shadow:inset 0 3px 0 #009bce}.p-division h2{font-size:15px;margin:5px 0}.p-division .p-division-comp{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.p-division .p-division-count{margin-top:auto;font-size:11px;color:#577083}.p-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.p-metric{background:white;border:1px solid var(--line);border-radius:10px;padding:17px 18px;min-width:0}.p-metric:first-child{border-top:2px solid var(--sky);padding-top:16px}.p-metric>span{display:block;font-size:11px;font-weight:700;color:#60788d}.p-metric strong{display:block;font-size:35px;letter-spacing:-1px;line-height:1.2;margin:10px 0 7px;font-variant-numeric:tabular-nums}.p-metric:first-child strong{color:#008fbf}.p-metric small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.p-metric small b{font-weight:700;color:var(--ink)}.p-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;align-items:start}.p-panel{background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0;overflow:hidden}.p-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 22px 17px;border-bottom:1px solid #edf1f4}.p-panel-head h2,.p-panel-head h3{font-size:17px;letter-spacing:-.3px}.p-panel-head .p-kicker{font-size:9px;margin-bottom:5px}.p-panel-body{padding:20px 22px}.p-panel-foot{padding:12px 22px;font-size:11px;background:#fbfcfd;color:var(--muted);border-top:1px solid var(--line)}.p-badge{display:inline-flex;align-items:center;gap:5px;background:#eef4f8;border:1px solid #dde7ee;color:#45677e;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;white-space:nowrap;line-height:1.5}.p-badge.gold{background:#faf6ed;border-color:#eadfc9;color:#806438}.p-badge.good{background:#eff7f2;border-color:#d9e8df;color:#397555}.p-badge.blue{background:#edf8fd;border-color:#cfebf7;color:#087ca4}.p-result-line{display:grid;grid-template-columns:55px minmax(0,1fr) auto 20px;gap:13px;align-items:center;padding:16px 22px;border-bottom:1px solid #edf1f4}.p-result-line:last-child{border-bottom:0}.p-result-line:hover{background:#f7fbfd}.p-result-date{font-size:11px;color:var(--muted);line-height:1.6}.p-result-date b{display:block;color:var(--ink);font-size:13px}.p-result-rival{min-width:0}.p-result-rival strong{display:block;font-size:13px;line-height:1.35}.p-result-rival small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.p-result-score{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.p-result-score small{font-size:10px;color:var(--muted);display:block;text-align:right;font-weight:400}.p-result-arrow{color:#7e9caf}.p-board{background:var(--navy);color:#fff;border:1px solid #153a55;border-radius:14px;position:relative;overflow:hidden;margin-bottom:20px}.p-board::before{content:'';position:absolute;width:330px;height:380px;left:-80px;top:-65px;background:url('rowing-escudo.png') center/contain no-repeat;opacity:.035;pointer-events:none;transform:rotate(-12deg)}.p-board-top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 24px 0;font-size:10px;letter-spacing:1px;color:#bed1df}.p-board .p-badge{background:#14334b;border-color:#38566b;color:#e5edf3}.p-board-main{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:25px 28px}.p-board-team{display:flex;align-items:center;gap:15px;min-width:0}.p-board-team:last-child{justify-content:flex-end;text-align:right}.p-board-team:last-child .p-crest{order:2}.p-board-team strong{font-size:20px;line-height:1.2;display:block}.p-board-team small{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#a9c0d2;margin-bottom:7px}.p-crest{width:55px;height:66px;object-fit:contain;flex-shrink:0}.p-crest-letter{width:55px;height:66px;display:flex;align-items:center;justify-content:center;font-size:18px;font-family:var(--display);letter-spacing:1px;border:1px solid #446078;color:#d6e3ed;border-radius:5px;flex-shrink:0}.p-board-score{text-align:center;white-space:nowrap}.p-board-score strong{font-size:72px;font-family:var(--display);line-height:1;font-variant-numeric:tabular-nums}.p-board-score>span{font-size:29px;color:#6d899e;margin:0 14px}.p-board-score>small{font-size:9px;color:#aac0d0;display:block;letter-spacing:1px;margin-top:8px}.p-board-meta{position:relative;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding:12px 24px;border-top:1px solid #ffffff19;color:#bfd0dd;font-size:11px;background:#03172d22}.p-board-meta a{color:#d5eaf5;text-decoration:underline;text-underline-offset:3px}.p-notice{border:1px solid #e6dfcd;background:#faf8f2;color:#756547;padding:13px 16px;border-radius:7px;font-size:12px;line-height:1.6;margin-bottom:22px}.p-notice strong{font-weight:700}.p-notice a{text-decoration:underline;text-underline-offset:3px}.p-notice.blue{background:#eff7fb;border-color:#d8e7f0;color:#476b82}.p-empty{text-align:center;padding:42px 24px;background:#fff;border:1px solid var(--line);border-radius:12px}.p-empty h2{font-size:20px;margin-bottom:10px}.p-empty p{max-width:530px;margin:0 auto;color:var(--muted);font-size:13px}.p-empty .button{margin-top:20px}.p-empty-symbol{font-size:32px;color:#9bb6c8;margin-bottom:13px}.p-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.p-toolbar .p-field{min-width:130px;flex:1}.p-toolbar .p-search{flex:2;min-width:200px}.p-toolbar .button{flex-shrink:0}.p-table-wrap{overflow-x:auto;overscroll-behavior-x:contain}.p-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.p-table caption{padding:14px 20px;color:var(--muted);font-size:11px;text-align:left}.p-table thead{background:#f7fafc}.p-table th{font-size:10px;color:#5f7689;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.p-table td{padding:15px 16px;border-bottom:1px solid #edf1f4;vertical-align:middle}.p-table tbody tr:last-child td{border-bottom:0}.p-table tbody tr:hover{background:#f9fcfd}.p-table .num{text-align:right;font-variant-numeric:tabular-nums}.p-table th button{background:none;text-align:inherit;color:inherit;font:inherit;padding:0;white-space:nowrap;min-height:22px}.p-table th button:hover{color:#008fbf}.p-table .p-player-name{font-weight:700;display:block;color:var(--ink);font-size:13px}.p-table a:hover{text-decoration:underline}.p-table td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.p-table .p-main-number{font-size:16px;font-weight:700;color:#0a7fa5}.p-rank-no{font-family:var(--display);font-size:24px;color:#9aafbd}.p-table tbody tr:first-child .p-rank-no{color:#b28748}.p-table .p-score-cell{font-weight:700;white-space:nowrap;font-size:15px}.p-table .p-status-cell{font-size:11px;color:var(--muted)}.p-table tfoot{background:#f7fafc;font-weight:700}.p-table td.p-name-cell{min-width:185px}.p-table-note{font-size:11px;color:var(--muted);padding:13px 20px;border-top:1px solid var(--line)}.p-muted{color:var(--muted)}.p-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:18px 0 20px;background:#eaf0f5;border:1px solid #dce5ed;padding:4px;border-radius:7px;width:max-content;max-width:100%}.p-tabs button{padding:9px 15px;background:transparent;border-radius:4px;color:#587186;font-size:12px;min-height:38px}.p-tabs button.active{background:white;color:var(--ink);font-weight:700;box-shadow:0 1px 4px #183e6115}.p-breakdown{display:grid;gap:11px}.p-breakdown-row{display:flex;align-items:center;gap:10px;font-size:12px}.p-breakdown-row>span:first-child{width:8px;height:8px;border-radius:2px;background:var(--sky)}.p-breakdown-row>strong{margin-left:auto;font-variant-numeric:tabular-nums}.p-breakdown-row>small{min-width:35px;text-align:right;color:var(--muted);font-size:10px}.p-half{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.p-half>div{background:#f7fafc;padding:15px;border:1px solid #e6edf2;border-radius:8px}.p-half span{font-size:10px;display:block;color:var(--muted);margin-bottom:5px}.p-half strong{font-size:23px;font-variant-numeric:tabular-nums}.p-chart{width:100%;height:auto;display:block;overflow:visible}.p-chart text{font-family:var(--font);font-size:11px;fill:#60788a}.p-chart .grid{stroke:#e7eef3;stroke-width:1}.p-chart .step{stroke:#008fbf;stroke-width:2.5;fill:none}.p-chart .area{fill:#edf8fd}.p-chart circle{fill:#008fbf}.p-chart-caption{font-size:11px;color:var(--muted);margin-top:12px}.p-chart-legend{display:flex;gap:18px;font-size:11px;color:var(--muted);margin-top:14px}.p-chart-legend i{width:9px;height:9px;display:inline-block;background:#009bce;margin-right:5px;border-radius:2px}.p-chart-legend span:last-child i{background:#b4c4d0}.p-timeline{list-style:none;margin:0;padding:0 22px}.p-timeline li{display:grid;grid-template-columns:48px 1fr auto;gap:14px;padding:15px 0;border-bottom:1px solid #edf1f4}.p-timeline li:last-child{border:0}.p-timeline-minute{font-family:var(--display);font-size:25px;color:#8099ab;line-height:1.1}.p-timeline-minute small{font-family:var(--font);display:block;font-size:9px;letter-spacing:.5px;margin-top:4px}.p-timeline-title{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#57768b}.p-timeline-name{font-size:13px;font-weight:700;margin-top:4px}.p-timeline-detail{font-size:11px;color:var(--muted);margin-top:5px}.p-event-points{font-size:18px;font-weight:700;color:#008fbf;font-variant-numeric:tabular-nums}.p-event-points small{display:block;font-size:9px;color:var(--muted);font-weight:400;text-align:right}.p-roster{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.p-roster-item{padding:14px 0;border-bottom:1px solid #edf1f4;display:flex;gap:12px;align-items:flex-start;min-width:0}.p-shirt{display:inline-flex;align-items:center;justify-content:center;width:31px;height:35px;background:#edf8fd;color:#087ea5;border:1px solid #d6ecf5;border-radius:5px;font-size:12px;font-weight:700;flex-shrink:0}.p-roster-item.bench .p-shirt{color:#748b9c;background:#f2f5f7;border-color:#e0e8ed}.p-roster-info{flex:1;min-width:0}.p-roster-info strong{font-size:13px}.p-roster-info a:hover{text-decoration:underline}.p-roster-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin-top:5px}.p-roster-info p{font-size:10px;color:var(--muted);margin-top:6px}.p-player-summary{display:flex;align-items:center;gap:22px;background:var(--navy);color:white;border-radius:14px;padding:28px;margin-bottom:22px}.p-player-monogram{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border:1px solid #386079;background:#12334c;border-radius:50%;font-family:var(--display);font-size:34px;color:#bae6f7;flex-shrink:0}.p-player-summary h1{font-size:29px;letter-spacing:-.7px}.p-player-summary .p-kicker{color:#94b3c8}.p-player-summary p:not(.p-kicker){color:#bdd0df;font-size:12px;margin-top:8px}.p-player-summary .p-badge{margin-left:auto;color:#d5e6f0;background:#13364e;border-color:#315870}.p-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.p-player-tile{display:flex;align-items:center;gap:13px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px}.p-player-tile:hover{border-color:#88bed4}.p-player-tile .p-player-monogram{width:42px;height:42px;font-size:19px;background:#edf8fd;color:#247e9e;border:1px solid #d4e7ef}.p-player-tile strong{font-size:13px;display:block}.p-player-tile small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.p-info-list{display:grid;gap:15px}.p-info-list h3{font-size:14px;margin-bottom:5px}.p-info-list p,.p-info-list li{font-size:12px;color:var(--muted);line-height:1.75}.p-info-list ul{padding-left:18px;margin:6px 0 0}.p-info-list a{color:#087da5;text-decoration:underline}.p-footer{margin-top:38px;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:var(--muted)}.p-footer strong{font-size:11px;letter-spacing:1.3px;color:var(--ink);display:block}.p-footer span{display:block;font-size:10px;margin-top:4px}.p-footer a:hover{text-decoration:underline}.p-season-card{display:flex;gap:28px;align-items:center;padding:26px;border:1px solid var(--line);background:white;border-radius:12px;margin-bottom:15px}.p-season-year{font-size:58px;font-family:var(--display);color:#008fbf;line-height:1}.p-season-card h2{font-size:20px}.p-season-card p{color:var(--muted);font-size:12px;margin:7px 0}.p-season-card .button{margin-left:auto}.p-back{font-size:12px;color:#54778e;display:inline-flex;padding:0 0 16px;align-items:center;gap:7px}.p-back:hover{text-decoration:underline}.p-inline-actions{display:flex;flex-wrap:wrap;gap:10px}.p-count-label{font-size:11px;color:var(--muted);margin:0 0 12px}.p-table .p-win{color:#397555}.p-table .p-loss{color:#805245}.p-rowing-order{font-size:10px;color:var(--muted)}
@media(min-width:1600px){.portal main{max-width:1550px}}
@media(max-width:1250px){.p-split{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.p-board-team{flex-direction:column;text-align:center;gap:9px}.p-board-team:last-child{flex-direction:column;text-align:center}.p-board-team:last-child .p-crest,.p-board-team:last-child .p-crest-letter{order:0}.p-board-team strong{font-size:17px}.p-board-score strong{font-size:65px}.p-board-main{gap:16px;padding:21px}.p-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-context-note{display:none}}
@media(max-width:1024px){.portal main{padding:27px 26px 0}.portal .sidebar{width:192px;padding-left:15px;padding-right:15px}.portal .workspace{margin-left:192px}.portal .brand-type{font-size:23px}.portal .brand img{width:36px}.portal .brand-type>span{font-size:6px}.portal .topbar{padding:0 26px}.p-split{grid-template-columns:1fr}.p-metrics{gap:10px}.p-metric{padding:15px}.p-metric strong{font-size:31px}.p-divisions{grid-template-columns:repeat(2,minmax(0,1fr))}.p-division{min-height:100px}.p-board-team{flex-direction:row;text-align:left}.p-board-team:last-child{flex-direction:row;text-align:right}.p-board-team:last-child .p-crest,.p-board-team:last-child .p-crest-letter{order:2}.p-board-team strong{font-size:16px}.p-board-score strong{font-size:61px}.p-board-score>span{margin:0 7px}.p-crest,.p-crest-letter{width:44px;height:54px}.p-context{gap:12px}.p-context .p-field:nth-child(2){min-width:155px}.p-context .p-field:nth-child(3){min-width:130px}.p-heading h1{font-size:29px}}
@media(max-width:820px){.portal .sidebar{position:relative;width:auto;overflow:visible;padding:17px 24px 0}.portal .brand img{width:37px}.portal .brand-type{font-size:24px}.portal .brand-type>span{font-size:7px}.portal .sidebar-divider,.portal .sidebar-label,.portal .sidebar-bottom{display:none}.portal .main-nav{display:flex;flex-direction:row;gap:4px;margin-top:16px;overflow-x:auto;scrollbar-width:none;padding:0 0 4px}.portal .main-nav::-webkit-scrollbar{display:none}.portal .nav-link{min-width:max-content;min-height:44px;padding:10px 12px;font-size:12px;border-radius:5px}.portal .nav-link.is-active{box-shadow:inset 0 -3px 0 #16b7ec}.p-nav-icon{font-size:18px;width:16px}.portal .workspace{margin:0}.portal .topbar{height:58px;padding:0 24px}.portal main{padding:25px 24px 0}.portal .edition{display:none}.p-context{margin-bottom:25px;padding-bottom:20px}.p-context .p-field{flex:1}.p-context .p-field:nth-child(2),.p-context .p-field:nth-child(3){min-width:0}.p-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.p-heading-aside{display:none}.p-board-main{padding:22px 25px}.p-board-team strong{font-size:20px}.p-board-score strong{font-size:76px}.p-board-score>span{margin:0 12px}.p-crest,.p-crest-letter{width:55px;height:66px}}
@media(max-width:640px){.portal .sidebar{padding:15px 18px 0}.portal .main-nav{margin-top:14px;gap:2px}.portal .nav-link{font-size:11px;padding:9px 10px;gap:6px;min-height:42px}.p-nav-icon{font-size:16px;width:14px}.portal .topbar{padding:0 18px;height:56px}.portal .breadcrumb{font-size:11px;gap:8px}.portal .breadcrumb>span:first-child{font-size:9px}.portal .topbar .button{min-height:36px;font-size:10px;padding:8px 10px}.portal main{padding:23px 18px 0}.p-context{gap:10px;flex-wrap:wrap}.p-context .p-field:first-child{flex:0 0 83px}.p-context .p-field:nth-child(2){flex:1}.p-context .p-field:nth-child(3){flex:0 0 100%}.p-field>span{font-size:9px}.p-field select,.p-field input{font-size:16px;min-height:44px;padding:9px 10px}.p-context .p-field:nth-child(3)>span{display:block}.p-heading{margin-bottom:22px}.p-heading h1{font-size:29px}.p-heading p:not(.p-kicker){font-size:12px}.p-kicker{font-size:9px;letter-spacing:1.3px}.p-divisions{gap:10px}.p-division{padding:15px;min-height:107px}.p-division h2{font-size:14px}.p-division .p-division-count{font-size:10px}.p-division .p-division-comp{font-size:9px}.p-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p-metric{padding:15px}.p-metric:first-child{padding-top:14px}.p-metric strong{font-size:33px}.p-metric>span,.p-metric small{font-size:11px}.p-section-head{margin-top:27px}.p-section-head h2{font-size:21px}.p-text-link{font-size:11px}.p-panel-head{padding:17px 17px 15px}.p-panel-head h2,.p-panel-head h3{font-size:16px}.p-panel-body{padding:18px 17px}.p-panel-foot{padding:12px 17px}.p-result-line{padding:15px 17px;grid-template-columns:43px minmax(0,1fr) auto 12px;gap:10px}.p-result-date{font-size:10px}.p-result-date b{font-size:12px}.p-result-rival strong{font-size:12px}.p-result-score{font-size:19px}.p-board-top{padding:17px 17px 0;gap:10px;font-size:9px;letter-spacing:.5px}.p-board-main{gap:10px;padding:23px 15px}.p-board-team{flex-direction:column;text-align:center;gap:9px}.p-board-team:last-child{flex-direction:column;text-align:center}.p-board-team:last-child .p-crest,.p-board-team:last-child .p-crest-letter{order:0}.p-board-team strong{font-size:15px;line-height:1.3}.p-board-team small{font-size:9px;letter-spacing:.7px;margin-bottom:5px}.p-crest,.p-crest-letter{width:44px;height:53px}.p-board-score strong{font-size:60px}.p-board-score>span{font-size:23px;margin:0 8px}.p-board-score>small{font-size:8px;letter-spacing:.5px}.p-board-meta{padding:12px 16px;font-size:10px;gap:8px 12px;justify-content:center}.p-notice{font-size:11px;padding:13px 15px}.p-toolbar{padding:15px;gap:12px}.p-toolbar .p-field,.p-toolbar .p-search{flex:1 1 calc(50% - 12px);min-width:100px}.p-toolbar .p-search{flex-basis:100%}.p-toolbar .button{min-height:44px}.p-table th{padding:12px 13px;font-size:9px}.p-table td{padding:13px;font-size:11px}.p-table .p-player-name{font-size:12px}.p-table td.p-name-cell{min-width:165px}.p-table .p-main-number{font-size:15px}.p-table-note{padding:13px 15px}.p-tabs{width:100%;gap:3px}.p-tabs button{flex:1;padding:9px 8px;font-size:11px;min-height:42px}.p-roster{grid-template-columns:1fr}.p-roster-item{padding:15px 0}.p-roster-info strong{font-size:13px}.p-roster-meta{font-size:10px}.p-roster-info p{font-size:11px}.p-timeline{padding:0 17px}.p-timeline li{grid-template-columns:37px 1fr auto;gap:10px}.p-timeline-title{font-size:9px}.p-timeline-name{font-size:12px}.p-timeline-detail{font-size:10px}.p-timeline-minute{font-size:24px}.p-event-points{font-size:17px}.p-player-summary{padding:22px 18px;gap:16px;flex-wrap:wrap}.p-player-summary h1{font-size:24px}.p-player-summary>div:nth-child(2){flex:1;min-width:0}.p-player-monogram{width:57px;height:57px;font-size:27px}.p-player-summary .p-badge{margin-left:73px}.p-player-grid{grid-template-columns:1fr;gap:10px}.p-player-tile{padding:16px}.p-player-tile strong{font-size:13px}.p-player-tile small{font-size:11px}.p-footer{align-items:flex-start;flex-direction:column;gap:14px;padding:22px 0;margin-top:30px}.p-season-card{align-items:flex-start;gap:20px;padding:20px;flex-wrap:wrap}.p-season-year{font-size:48px}.p-season-card>div:nth-child(2){flex:1}.p-season-card .button{margin-left:0}.p-season-card h2{font-size:17px}.p-half{gap:10px}.p-half>div{padding:13px}.p-chart text{font-size:12px}.p-count-label{font-size:11px}.p-heading .p-inline-actions{display:none}}
@media(max-width:360px){.portal main{padding-left:12px;padding-right:12px}.portal .sidebar{padding-left:12px;padding-right:12px}.portal .topbar{padding-left:12px;padding-right:12px}.portal .breadcrumb>span:first-child{display:none}.portal .breadcrumb .slash{display:none}.p-heading h1{font-size:26px}.p-board-main{padding:22px 10px;gap:7px}.p-board-score strong{font-size:50px}.p-board-score>span{font-size:20px;margin:0 5px}.p-board-team strong{font-size:13px}.p-crest,.p-crest-letter{width:40px;height:48px}.p-board-top{padding:16px 12px 0;font-size:8px}.p-board .p-badge{font-size:9px;padding:3px 6px}.p-division{padding:14px 12px}.p-division h2{font-size:13px}.p-section-head h2{font-size:19px}.p-result-line{gap:8px;padding:14px}.p-result-score{font-size:17px}}
@media(prefers-reduced-motion:reduce){.portal *{scroll-behavior:auto!important;transition:none!important}}
@media print{.portal .sidebar,.portal .topbar,.p-context,.p-toolbar,.p-tabs,.p-inline-actions,.p-back,.p-footer a,.p-text-link,.p-player-grid,.toast{display:none!important}.portal .workspace{margin:0}.portal main{padding:0;max-width:none}.portal{background:white;color:#122a41;font-size:10pt}.p-heading h1{font-size:25px}.p-heading p:not(.p-kicker){font-size:10px}.p-metrics{grid-template-columns:repeat(4,1fr)}.p-metric{break-inside:avoid}.p-metric strong{font-size:27px}.p-metric small{font-size:9px}.p-split{grid-template-columns:1.5fr 1fr;gap:14px}.p-board{break-inside:avoid}.p-board-main{grid-template-columns:1fr auto 1fr}.p-board-team,.p-board-team:last-child{flex-direction:row}.p-board-team strong{font-size:16px}.p-board-score strong{font-size:60px}.p-crest,.p-crest-letter{width:43px;height:52px}.p-board-team:last-child .p-crest{order:2}.p-panel{break-inside:avoid}.p-panel:has(.p-table-wrap),.p-panel:has(.p-roster),.p-panel:has(.p-timeline){break-inside:auto}.p-table-wrap{overflow:visible}.p-table{font-size:9px}.p-table td,.p-table th{padding:9px}.p-table tbody tr,.p-roster-item,.p-timeline li{break-inside:avoid}.p-roster{grid-template-columns:1fr 1fr}.p-notice{font-size:9px}.p-divisions{grid-template-columns:repeat(4,1fr)}.p-division{min-height:75px;padding:12px}.p-division h2{font-size:12px}.p-section-head{break-after:avoid}.p-player-summary{break-inside:avoid}.p-footer{margin-top:20px;padding-top:14px}.p-chart{max-height:180px}a{text-decoration:none!important}}

/* Long club names remain inside the narrow scoreboard columns. */
.p-board-team strong{overflow-wrap:anywhere}.p-player-summary h1,.p-player-tile strong{overflow-wrap:anywhere}

/* All six destinations remain visible on a narrow phone screen. */
@media(max-width:640px){
  .portal .main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:12px;padding:0 0 12px;overflow:visible}
  .portal .nav-link{min-width:0;min-height:44px;padding:9px 7px;gap:6px;font-size:11px;justify-content:flex-start;white-space:nowrap}
  .portal .p-nav-icon{width:14px;min-width:14px;font-size:16px}
  .p-context{padding-bottom:18px;margin-bottom:23px}
  .p-context .p-field>span{font-size:10px}
}

/* Let grid columns shrink while charts and tables scroll inside their panels. */
.portal .p-split > *, .portal .p-three > *, .portal .p-panel { min-width: 0; }
.portal .p-table-wrap { max-width: 100%; }

/* V2: scrollers aislados: sin desplazamiento horizontal de toda la pagina. */
.p-table-wrap {contain:paint; overscroll-behavior-x:contain}
.p-table-wrap:focus-visible {outline:3px solid #00a6d9;outline-offset:-3px}
.p-scroll-hint {display:none}
@media (max-width:640px) {
  .p-scroll-hint {display:flex;align-items:center;gap:8px;padding:9px 14px;
    border-top:1px solid #e8edf1;color:#547188;font-size:11px;line-height:1.5;
    background:#f8fbfd;margin:0}
}
@media print {
  .p-table-wrap {contain:none; overflow:visible}
  .p-scroll-hint {display:none!important}
}

/* V3: recorded schedule is distinct from confirmed results. */
.p-scheduled-label{font-size:12px;font-weight:700;color:#36576e;text-align:right}
.p-scheduled-label small{font-weight:400}
.p-toolbar .button-quiet{background:#eff6fa;border:1px solid #d6e5ee;color:#225774}
.p-toolbar .button-quiet:hover{background:#e2f2f9;border-color:#a7cddb}
.p-toolbar .button-quiet:focus-visible{outline:3px solid #1ea7de}
.p-chart-cursor-dot{fill:#0a7fa5;stroke:#fff;stroke-width:2px}
@media(max-width:640px){
  .p-toolbar .button-quiet,.p-toolbar [data-action="export"]{flex:1 1 auto}
  .p-scheduled-label{font-size:10px}
}
@media print{
  .p-toolbar .button-quiet{display:none!important}
}
/* Keep the existing match share action reachable on phones. */
@media (max-width:640px){
  .p-heading:has(.p-inline-actions){align-items:flex-start;flex-direction:column;gap:12px}
  .p-heading .p-inline-actions{display:flex}
  .p-heading .p-inline-actions .button{min-height:42px}
}
@media print{
  .p-heading .p-inline-actions{display:none!important}
}


/* V4 - refinamiento visual solicitado: menos ruido, mejores controles. */
.portal .sidebar-bottom{margin-top:auto;padding-top:0}
.portal .source-link{
  margin-top:0;padding:16px 11px 10px;border-top:1px solid rgba(255,255,255,.14);
  border-radius:0;color:#b7cad9;font-size:12px;min-height:50px;
  text-decoration:none;transition:color .18s ease,background-color .18s ease;
}
.portal .source-link:hover,.portal .source-link.is-active{color:#fff;background:rgba(255,255,255,.045)}
.portal .p-nav-icon{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;color:#91abc0;line-height:1}
.portal .p-nav-icon svg{display:block;width:19px;height:19px}
.portal .nav-link.is-active .p-nav-icon,.portal .source-link.is-active .p-nav-icon{color:#47c9f5}
.portal .nav-link{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.portal .nav-link:hover .p-nav-icon{color:#eef9ff}
.portal .p-division{
  padding:20px 20px 19px;border-radius:12px;min-height:124px;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.portal .p-division:hover{border-color:#8fbfd5;background:#fafdff;transform:translateY(-2px);box-shadow:0 5px 16px rgba(12,48,77,.05)}
.portal .p-division.active{border-color:#89c8e1;background:#eff8fc;box-shadow:inset 0 3px 0 #009bce}
.portal .p-division:focus-visible{outline:3px solid #159fcf;outline-offset:3px}
.portal .p-division h2{font-size:16px;line-height:1.3;margin:6px 0 15px}
.portal .p-division-comp{font-size:10px}
.portal .p-division-count{line-height:1.45}
.portal .p-result-line{grid-template-columns:55px minmax(0,1fr) auto}
.portal .p-result-line:focus-visible{outline:2px solid #129bd0;outline-offset:-2px;background:#f0f9fe}
.portal .button{border-radius:8px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.portal .button:hover:not(:disabled){box-shadow:0 2px 6px rgba(6,40,72,.07)}
.portal select{
  -webkit-appearance:none;appearance:none;box-sizing:border-box;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23556e83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px 16px;
  padding-right:40px;
}
.portal .p-field select{padding-right:40px;line-height:1.3;min-height:44px}
.portal .p-field select:hover{border-color:#aabecf}
.portal .p-field select:focus-visible{outline:3px solid #1ea7de;outline-offset:2px;border-color:#70bddd}
@media(max-width:820px){
  .portal .p-nav-icon,.portal .p-nav-icon svg{width:17px;height:17px}
  .portal .p-nav-icon{flex-basis:17px}
}
@media(max-width:640px){
  .portal .p-nav-icon,.portal .p-nav-icon svg{width:17px;height:17px}
  .portal .p-nav-icon{min-width:17px;flex-basis:17px}
  .portal .p-division{padding:16px 15px;min-height:112px}
  .portal .p-division h2{font-size:14px;margin:7px 0 11px}
  .portal .p-result-line{grid-template-columns:43px minmax(0,1fr) auto}
  .portal .p-field select{padding-right:39px}
}
@media(max-width:360px){
  .portal .p-division{padding:15px 12px}
  .portal .p-division h2{font-size:13px}
  .portal .p-result-line{gap:8px}
}
@media(prefers-reduced-motion:reduce){.portal .p-division:hover{transform:none}}
@media print{.portal .p-division:hover{transform:none;box-shadow:none}}

/* V6: results based on the final score, not incident coverage. */
.p-home-matches .p-badge.outcome-win{background:#edf7f0;border-color:#d4e9db;color:#286646}
.p-home-matches .p-badge.outcome-loss{background:#fcf1ee;border-color:#ecd9d3;color:#8e493f}
.p-home-matches .p-badge.outcome-draw{background:#faf6e9;border-color:#e9dfc5;color:#74551f}


/* V7 — filtros globales en la barra superior; portada más directa. */
.portal .topbar{height:72px;gap:20px}
.portal .topbar-actions{gap:0;flex:0 0 auto;max-width:min(100%,520px)}
.portal .topbar-filters{min-width:0;width:100%}
.portal .topbar-filters .p-context{
  display:grid;grid-template-columns:78px minmax(0,190px) minmax(0,180px);
  gap:10px;align-items:end;margin:0;padding:0;border:0;
}
.portal .topbar-filters .p-context .p-field,
.portal .topbar-filters .p-context .p-field:nth-child(2),
.portal .topbar-filters .p-context .p-field:nth-child(3){min-width:0;flex:none;gap:5px}
.portal .topbar-filters .p-field>span{font-size:9px;line-height:1.2;letter-spacing:.85px;white-space:nowrap}
.portal .topbar-filters .p-field select{
  display:block;width:100%;min-height:36px;font-size:12px;line-height:1.2;
  padding:7px 32px 7px 10px;border-radius:7px;
  background-position:right 10px center;background-size:14px 14px;
}
.portal main{padding-top:20px}
.portal #page-content>.p-heading{margin-bottom:18px}
.portal #page-content>.p-divisions{margin-bottom:16px}
.portal #page-content>.p-metrics{margin-bottom:14px}
.portal .p-home-feature>.p-section-head{margin-top:20px;margin-bottom:12px}

@media(max-width:1024px){
  .portal .topbar-filters .p-context{grid-template-columns:70px minmax(0,165px) minmax(0,150px);gap:8px}
  .portal .topbar{gap:12px}
}
@media(max-width:820px){
  .portal .topbar{height:66px}
  .portal .topbar-filters .p-context{grid-template-columns:72px minmax(0,165px) minmax(0,155px)}
}
/* En teléfonos, breadcrumb y filtros forman dos filas dentro de la misma barra. */
@media(max-width:700px){
  .portal .topbar{
    height:auto;min-height:105px;display:grid;grid-template-columns:minmax(0,1fr);
    align-content:center;justify-content:stretch;align-items:stretch;gap:8px;
    padding-top:10px;padding-bottom:11px;
  }
  .portal .topbar-actions{max-width:none;min-width:0;width:100%}
  .portal .topbar-filters .p-context{
    width:100%;grid-template-columns:minmax(65px,.65fr) minmax(0,1.35fr) minmax(0,1.2fr);
    gap:7px;
  }
  .portal .topbar-filters .p-field>span{font-size:8px;letter-spacing:.55px}
  .portal .topbar-filters .p-field select{
    min-height:44px;font-size:12px;padding:7px 24px 7px 9px;
    background-position:right 7px center;background-size:13px 13px;
  }
  .portal main{padding-top:17px}
  .portal #page-content>.p-heading{margin-bottom:17px}
  .portal #page-content>.p-divisions{margin-bottom:16px}
  .portal #page-content>.p-metrics{margin-bottom:14px}
}
@media(max-width:360px){
  .portal .topbar-filters .p-context{
    grid-template-columns:minmax(61px,.67fr) minmax(0,1.35fr) minmax(0,1.25fr);gap:6px;
  }
  .portal .topbar-filters .p-field select{font-size:11px;padding-left:7px;padding-right:22px}
}

/* V8 — Mobile-first legibility. Desktop identity is deliberately unchanged. */
.p-team-short { display:none; }
.p-minute-warning { border-left:3px solid #0c98c6; }
.p-minute-warning strong {color:#183c53}
@media (max-width:700px) {
  .portal {font-size:14px;line-height:1.5}
  .portal .sidebar {padding:12px 0 0;background:#09233d}
  .portal .brand {padding:0 17px 12px;gap:10px}
  .portal .brand img {width:33px;height:auto}
  .portal .brand-type {font-size:21px;letter-spacing:1.5px}
  .portal .brand-type>span {font-size:8px;letter-spacing:1.2px;margin-top:6px}
  .portal .main-nav {
    display:flex;grid-template-columns:none;flex-direction:row;gap:7px;
    margin:0;padding:9px 16px 12px;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x proximity;scroll-padding-inline:16px;
    overscroll-behavior-x:contain;scrollbar-width:none;
    border-top:1px solid rgba(255,255,255,.1);
  }
  .portal .main-nav::-webkit-scrollbar {display:none}
  .portal .nav-link {
    flex:0 0 auto;width:auto;min-width:0;min-height:42px;
    padding:9px 13px;gap:7px;white-space:nowrap;
    font-size:12px;border-radius:9px;scroll-snap-align:start;
    justify-content:center;background:rgba(255,255,255,.035);
  }
  .portal .nav-link.is-active {background:#174461;border-color:rgba(54,180,218,.38);box-shadow:inset 0 -3px 0 #15b7e6}
  .portal .p-nav-icon,.portal .p-nav-icon svg {width:17px;height:17px;min-width:17px}
  .portal .topbar {padding:12px 16px 15px;gap:10px;height:auto;min-height:0}
  .portal .breadcrumb {font-size:12px;gap:9px}
  .portal .breadcrumb>span:first-child {font-size:10px;letter-spacing:.7px}
  .portal .topbar-filters .p-context {
    display:grid;grid-template-columns:94px minmax(0,1fr);gap:10px;
    width:100%;margin:0;padding:0;
  }
  .portal .topbar-filters .p-context .p-field,
  .portal .topbar-filters .p-context .p-field:nth-child(2),
  .portal .topbar-filters .p-context .p-field:nth-child(3) {flex:none;width:100%;min-width:0}
  .portal .topbar-filters .p-context .p-field:nth-child(3) {grid-column:1/-1}
  .portal .topbar-filters .p-field>span {font-size:10px;letter-spacing:.6px}
  .portal .topbar-filters .p-field select {
    min-height:46px;border-radius:9px;font-size:15px;
    padding:10px 34px 10px 12px;background-position:right 12px center;
    background-size:14px 14px;
  }
  .portal main {padding:18px 16px 0}
  .portal #page-content>.p-heading {margin-bottom:18px}
  .p-heading h1 {font-size:30px;line-height:1.12;letter-spacing:-.55px}
  .p-heading p:not(.p-kicker) {font-size:13px;line-height:1.5;margin-top:9px}
  .p-kicker {font-size:10px;letter-spacing:1.1px}
  .p-divisions {gap:9px}
  .portal .p-division {min-height:112px;padding:15px;border-radius:12px}
  .portal .p-division h2 {font-size:15px;line-height:1.22;margin:9px 0 10px}
  .portal .p-division-comp {font-size:11px;letter-spacing:.4px}
  .portal .p-division-count {font-size:11px;line-height:1.4}
  .p-metrics {gap:9px}
  .p-metric {min-height:120px;padding:16px!important;border-radius:12px}
  .p-metric>span {font-size:12px;font-weight:700;line-height:1.25}
  .p-metric strong {font-size:36px;line-height:1.12;margin:9px 0 7px}
  .p-metric small {font-size:11px;line-height:1.35}
  .p-section-head {margin-top:28px;margin-bottom:13px}
  .p-section-head h2 {font-size:23px;letter-spacing:-.35px}
  /* Scoreboard: the score remains the visual focus, not cramped team names. */
  .p-team-long {display:none}
  .p-team-short {display:inline}
  .p-board {border-radius:14px;overflow:hidden}
  .p-board-main {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:23px 13px 20px}
  .p-board-team,.p-board-team:last-child {flex-direction:column;text-align:center;align-items:center;justify-content:flex-start;gap:7px;min-width:0}
  .p-board-team:last-child .p-crest,.p-board-team:last-child .p-crest-letter {order:0}
  .p-board-team strong {font-size:13px;line-height:1.22;overflow-wrap:break-word}
  .p-board-team small {font-size:9px;margin-bottom:3px}
  .p-crest,.p-crest-letter {width:43px;height:50px;object-fit:contain}
  .p-board-score {align-self:center;min-width:0}
  .p-board-score strong {font-size:clamp(38px,11vw,50px);line-height:1}
  .p-board-score>span {font-size:18px;margin:0 3px}
  .p-board-score>small {font-size:9px;letter-spacing:.4px;margin-top:8px}
  .p-board-meta {display:flex;justify-content:center;gap:7px 16px;flex-wrap:wrap;text-align:center;padding:14px 11px;font-size:11px}
  .p-board-top {font-size:10px;padding:15px 15px 0;letter-spacing:.3px}
  /* All filters become large enough to use without zooming. */
  .p-toolbar {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px;padding:15px;border-radius:12px}
  .p-toolbar .p-field,.p-toolbar .p-search {flex:none;width:100%;min-width:0;max-width:none}
  .p-toolbar .p-search {grid-column:1/-1}
  .p-toolbar .p-field input,.p-toolbar .p-field select {min-height:46px;font-size:15px;border-radius:8px}
  .p-toolbar .button {min-height:46px;font-size:12px;max-width:100%}
  .p-toolbar .p-count-label {grid-column:1/-1}
  .p-player-grid {grid-template-columns:1fr;gap:10px}
  .p-player-tile {border-radius:12px;min-height:80px}
  .p-player-tile strong {font-size:15px}
  .p-player-tile small {font-size:12px}
  .p-notice {font-size:12px;line-height:1.55;padding:15px 16px}
  .p-count-label {font-size:12px;margin:14px 0 10px}
  /* Stacked mobile tables: retain genuine table semantics for desktop and export. */
  .p-table-wrap.p-card-table-wrap {max-width:100%;overflow:visible;contain:none;border:0}
  .p-table.p-mobile-cards {display:block;width:100%;min-width:0!important;border:0}
  .p-table.p-mobile-cards caption {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .p-table.p-mobile-cards thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .p-table.p-mobile-cards tbody {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px;background:#f5f8fa}
  .p-table.p-mobile-cards tbody tr {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 14px;
    min-width:0;margin:0;border:1px solid #dce7ef;background:#fff;border-radius:12px;padding:15px;box-shadow:0 1px 4px rgba(12,45,69,.03)}
  .p-table.p-mobile-cards td {display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
    min-width:0;max-width:100%;padding:0!important;border:0;font-size:13px;line-height:1.4;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .p-table.p-mobile-cards td::before {content:attr(data-label);font-size:10px;line-height:1.3;font-weight:700;color:#6a8296;letter-spacing:.25px;margin-bottom:3px}
  .p-table.p-mobile-cards td small {font-size:11px;margin:2px 0 0;color:#62798c}
  .p-table.p-mobile-cards td.p-name-cell {grid-column:1/-1;order:-1}
  .p-table.p-mobile-cards td.p-name-cell a {font-size:16px;line-height:1.35;white-space:normal}
  .p-table.p-mobile-cards .p-score-cell {font-size:24px;font-weight:700;line-height:1.15}
  .p-table.p-mobile-cards .p-main-number {font-size:23px;font-weight:700;color:#007fa9}
  .p-table.p-mobile-cards .p-text-link {font-size:12px;font-weight:700;color:#007fa9;min-height:36px;display:inline-flex;align-items:center}
  .p-table.p-mobile-cards td .p-badge {max-width:max-content}
  .p-table.p-mobile-cards .p-rank-no {font-size:22px;color:#6d8da1}
  .p-table.p-mobile-cards.p-matches-table tbody tr {grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:9px 12px}
  .p-matches-table td:nth-child(3) {grid-column:1/-1;grid-row:1}
  .p-matches-table td:nth-child(3)::before {content:'Rival'}
  .p-matches-table td:nth-child(1) {grid-column:1;grid-row:2}
  .p-matches-table td:nth-child(5) {grid-column:2;grid-row:2;align-items:flex-end!important;text-align:right!important}
  .p-matches-table td:nth-child(2) {grid-column:1;grid-row:3}
  .p-matches-table td:nth-child(4) {grid-column:2;grid-row:3;align-items:flex-end!important}
  .p-matches-table td:nth-child(6) {grid-column:1;grid-row:4}
  .p-matches-table td:nth-child(7) {grid-column:2;grid-row:4;align-items:flex-end!important}
  .p-table.p-mobile-cards.p-rankings-table tbody tr {grid-template-columns:33px minmax(0,1fr) auto;gap:8px 10px}
  .p-rankings-table td:nth-child(1) {grid-column:1;grid-row:1}
  .p-rankings-table td:nth-child(2) {grid-column:2;grid-row:1}
  .p-rankings-table td:nth-child(3) {grid-column:3;grid-row:1;align-items:flex-end!important}
  .p-rankings-table td:nth-child(4) {grid-column:1/3;grid-row:2}
  .p-rankings-table td:nth-child(5) {grid-column:3;grid-row:2;align-items:flex-end!important}
  .p-rankings-table td:nth-child(6) {grid-column:1/-1;grid-row:3;padding-top:9px!important;border-top:1px solid #eaf0f4}
  .p-rankings-table td:nth-child(1)::before,.p-rankings-table td:nth-child(2)::before {display:none}
  .p-rankings-table td:nth-child(3)::before {font-size:9px;max-width:100px;text-align:right;overflow-wrap:anywhere}
  .p-table.p-mobile-cards.p-rankings-table td.p-name-cell {grid-column:2;grid-row:1;order:0!important}
  .p-rankings-table td:nth-child(2) {order:0!important}
  .p-rankings-toolbar .p-field:first-child {grid-column:1/-1}
  .p-table-note {font-size:12px;line-height:1.5;padding:13px 16px}
  .p-footer {padding:26px 0;margin-top:27px}
}
@media(max-width:360px){
  .portal .brand{padding-left:12px;padding-right:12px}
  .portal .main-nav{padding-left:12px;padding-right:12px;scroll-padding-inline:12px}
  .portal .topbar{padding-left:12px;padding-right:12px}
  .portal main{padding-left:12px;padding-right:12px}
  .portal .topbar-filters .p-context {grid-template-columns:86px minmax(0,1fr);gap:8px}
  .portal .topbar-filters .p-field select{font-size:14px;padding-left:9px}
  .p-board-main{padding:21px 10px;gap:5px}
  .p-board-score strong{font-size:37px}
  .p-board-team strong{font-size:12px}
  .p-table.p-mobile-cards tbody{padding:8px}
  .p-table.p-mobile-cards tbody tr{padding:12px;gap:8px}
}
@media print {
  .p-table.p-mobile-cards {display:table}
  .p-table.p-mobile-cards thead{position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible}
  .p-table.p-mobile-cards tbody{display:table-row-group}
  .p-table.p-mobile-cards tbody tr{display:table-row;box-shadow:none}
  .p-table.p-mobile-cards td{display:table-cell}
  .p-table.p-mobile-cards td::before{display:none}
}

/* V11: logos oficiales de los rivales en los listados y fichas, sin cambiar el diseño de datos. */
.p-rival-with-crest{display:flex;align-items:center;gap:11px;min-width:0}
.p-rival-with-crest .p-crest-mini{width:34px;height:40px;min-width:34px;min-height:40px;object-fit:contain;flex-shrink:0}
.p-rival-with-crest a{min-width:0;overflow-wrap:anywhere;line-height:1.3}
.p-rival-with-crest .p-crest-letter{font-size:11px}
@media(max-width:700px){
  .portal .p-rival-with-crest{gap:11px;align-items:center}
  .portal .p-rival-with-crest .p-crest-mini{width:40px;height:45px;min-width:40px;min-height:45px}
}
@media print{.p-rival-with-crest{break-inside:avoid}.p-rival-with-crest .p-crest-mini{width:30px;height:36px;min-width:30px;min-height:36px}}

/* V12 — approved polish only: top context, navigation, surface consistency.
   No sports data, card hierarchy or scoreboard composition is changed. */
.portal {
  --v12-stroke: #dae5ed;
  --v12-stroke-hover: #a9c7d9;
  --v12-soft-shadow: 0 4px 18px rgba(13, 45, 70, .025);
}

/* A calmer, precise top bar with aligned native selectors. */
.portal .topbar {
  background: #fff;
  border-bottom-color: #e0e9f0;
}
.portal .topbar .breadcrumb {
  gap: 13px;
  color: #647c8f;
}
.portal .topbar .breadcrumb>span:first-child { color: #17344a; }
.portal .topbar .slash { color: #c6d4df; }
.portal .topbar-filters .p-context { align-items: end; }
.portal .topbar-filters .p-context .p-field { gap: 5px; }
.portal .topbar-filters .p-field>span {
  color: #5b7185;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .52px;
}
.portal .topbar-filters .p-field select {
  min-height: 40px;
  padding: 8px 35px 8px 12px;
  border: 1px solid var(--v12-stroke);
  border-radius: 9px;
  background-color: #f9fbfd;
  background-position: right 11px center;
  background-size: 14px 14px;
  color: #172e43;
  font-size: 13px;
  line-height: 1.25;
  box-shadow: 0 1px 1px rgba(13, 45, 70, .025);
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.portal .topbar-filters .p-field select:hover {
  background-color: #fff;
  border-color: var(--v12-stroke-hover);
}
.portal .topbar-filters .p-field select:focus-visible {
  outline: 2px solid #12a0d0;
  outline-offset: 2px;
  background-color: #fff;
  border-color: #59b7d8;
  box-shadow: 0 0 0 3px rgba(20, 169, 214, .09);
}

/* Preserve the side menu structure, refine focus and selected affordances. */
.portal .main-nav { gap: 5px; }
.portal .main-nav>.nav-link {
  border-radius: 9px;
  border-color: transparent;
  background: transparent;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.portal .main-nav>.nav-link:hover:not(.is-active) {
  background: #12344f;
  color: #f4f9fd;
}
.portal .main-nav>.nav-link.is-active {
  background: #153b55;
  border-color: rgba(109, 186, 216, .18);
  box-shadow: inset 3px 0 0 #1db8e4;
}
.portal .main-nav>.nav-link.is-active .p-nav-icon { color: #70d3f2; }
.portal .main-nav>.nav-link:focus-visible,
.portal .source-link:focus-visible {
  outline: 2px solid #73d8f5;
  outline-offset: -2px;
}
.portal .source-link {
  border-top-color: rgba(212, 237, 250, .14);
  border-radius: 7px;
  padding-left: 11px;
  padding-right: 10px;
}

/* Harmonize the quiet shells, not the individual sport cards. */
.portal .p-panel,
.portal .p-toolbar,
.portal .p-empty {
  border-color: var(--v12-stroke);
  box-shadow: var(--v12-soft-shadow);
}
.portal .p-panel { border-radius: 12px; }
.portal .p-toolbar { border-radius: 11px; }
.portal .p-empty { border-radius: 12px; }

@media (min-width: 1200px) {
  .portal .topbar-actions {
    border-left: 1px solid #e7edf2;
    padding-left: 20px;
  }
}
@media (min-width: 701px) and (max-width: 820px) {
  .portal .main-nav { gap: 5px; }
  .portal .main-nav>.nav-link.is-active { box-shadow: inset 0 -3px 0 #1db8e4; }
  .portal .topbar-filters .p-field select {
    min-height: 39px;
    font-size: 12px;
    padding-left: 10px;
    padding-right: 30px;
    background-position: right 9px center;
  }
}
@media (max-width: 700px) {
  /* Mobile detail rules live after the original mobile-v10 stylesheet. */
  .portal .main-nav>.nav-link.is-active { box-shadow: none; }
  .portal .p-panel:has(.p-mobile-cards) {box-shadow:none;}
}
@media (prefers-reduced-motion: reduce) {
  .portal .topbar-filters .p-field select,
  .portal .main-nav>.nav-link { transition: none; }
}
@media print {
  .portal .p-panel, .portal .p-toolbar, .portal .p-empty {box-shadow:none;}
}

/* V13: la columna Resultado comparte etiquetas en Inicio y Partidos. */
.portal .p-matches-table .p-badge.outcome-win{background:#edf7f0;border-color:#d4e9db;color:#286646}
.portal .p-matches-table .p-badge.outcome-loss{background:#fcf1ee;border-color:#ecd9d3;color:#8e493f}
.portal .p-matches-table .p-badge.outcome-draw{background:#faf6e9;border-color:#e9dfc5;color:#74551f}
/* V13: barras de intervalos por jugador, sin modificar los datos originales. */
.portal .p-minutes-visual{margin:11px 0 5px;min-width:0}
.portal .p-minutes-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;color:#60798b;font-size:10px;line-height:1.35}
.portal .p-minutes-caption strong{font-family:var(--font);font-size:10px;font-weight:700;color:#263f51;text-align:right}
.portal .p-minutes-track{display:flex;height:9px;overflow:hidden;border:1px solid #e0e8ed;border-radius:999px;background:#e6ebef;width:100%;box-sizing:border-box}
.portal .p-minutes-segment{display:block;height:100%;flex-shrink:0;min-width:0}
/* Verde significa que el jugador estuvo en cancha segun el modelo; documentado e inferido usan el mismo color. */
.portal .p-minutes-segment.is-confirmed,.portal .p-minutes-segment.is-inferred,.portal .p-minutes-legend i.is-playing{background:#32966d}
.portal .p-minutes-segment.is-off,.portal .p-minutes-legend i.is-off{background:#d67c76}
.portal .p-minutes-segment.is-unknown,.portal .p-minutes-legend i.is-unknown{background:repeating-linear-gradient(45deg,#c8d2d9 0 5px,#e7edf1 5px 10px)}
.portal .p-minutes-legend{display:flex;gap:7px 16px;flex-wrap:wrap;margin-bottom:10px;font-size:10px;color:#526d80}
.portal .p-minutes-legend span{display:inline-flex;gap:6px;align-items:center}
.portal .p-minutes-legend i{height:9px;width:15px;flex:none;display:inline-block;border-radius:2px}
@media(max-width:700px){
  .portal .p-minutes-caption{font-size:11px}
  .portal .p-minutes-caption strong{font-size:11px}
  .portal .p-minutes-track{height:11px}
  .portal .p-minutes-legend{gap:9px 15px;font-size:10px}
}
@media print{.portal .p-minutes-track{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.portal .p-panel-body>.p-minutes-legend{padding-bottom:11px;margin-bottom:4px;border-bottom:1px solid #edf1f4}

/* V15: concise public copy and restrained source presentation. */
.portal .p-simple-caveat {
  margin: 0 0 15px;
  padding: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #526d81;
}
.portal .p-simple-caveat a,
.portal .p-source-inline a {color: #0879a1;text-underline-offset: 3px;}
.portal .p-source-summary {
  display: flex;
  align-items: center;
  gap: 18px;
  width: fit-content;
  max-width: 100%;
  margin: 5px 0 25px;
  padding: 10px 14px;
  background: #f8fbfd;
  border: 1px solid #dce7ee;
  border-radius: 10px;
  color: #526d81;
  font-size: 13px;
  line-height: 1.4;
}
.portal .p-source-summary strong {color: #16344b;font-weight: 700;}
.portal .p-source-inline {
  margin-top: 24px;
  padding: 15px 0 0;
  border-top: 1px solid #dce7ee;
  color: #63798a;
  font-size: 13px;
  line-height: 1.65;
}
.portal .p-source-inline strong {font-weight: 600;color: #35556b;}

/* ROWING V17 — search, form and install/share details. Existing sport components unchanged. */
.portal .brand-search { display:none; }
.portal .topbar-search { display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid #d6e3ea;border-radius:9px;background:#f9fcfe;color:#153e58;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none; }
.portal .topbar-search:hover { background:#ecf7fc;border-color:#9ecfdf; }
.portal .topbar-search:focus-visible,.portal .brand-search:focus-visible { outline:3px solid #06a5d4;outline-offset:2px; }
.portal .p-recent-form { display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 22px;padding:14px 17px;background:#fff;border:1px solid #dfe8ef;border-radius:11px; }
.p-recent-form-title { display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 12px; }
.p-recent-form-title strong { color:#173249;font-size:13px; }
.p-recent-form-title span { color:#688092;font-size:11px; }
.p-form-results { display:flex;align-items:center;gap:7px; }
.p-form-pill { display:flex;justify-content:center;align-items:center;width:33px;height:33px;border:1px solid #d2dee5;border-radius:8px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .15s,border-color .15s; }
.p-form-pill:hover { transform:translateY(-2px); }
.p-form-pill:focus-visible {outline:3px solid #0fa6d6;outline-offset:2px;}
.p-form-win { color:#1c7859;border-color:#cce8dc;background:#eaf7f0; }
.p-form-loss { color:#a84842;border-color:#f0d2d0;background:#fff0ef; }
.p-form-draw { color:#6a7585;border-color:#d7e0e6;background:#f0f4f8; }
.p-form-unknown { color:#718391;background:#f3f5f6; }
.p-global-search-toolbar {align-items:end;}
.p-global-search-toolbar .p-search {flex:1;}
.p-global-search-toolbar input[type="search"] {font-size:16px;min-height:48px;}
.p-search-helper {color:#657f91;font-size:12px;line-height:1.5;margin:12px 0 19px;}
.p-search-count {font-size:12px;color:#4f6c7f;font-weight:700;margin-top:3px;}
.p-search-match-list {border:1px solid #dce7ee;border-radius:12px;background:#fff;overflow:hidden;}
.p-search-match {display:flex;align-items:center;gap:12px;min-height:75px;padding:12px 17px;color:#163448;border-bottom:1px solid #edf2f5;text-decoration:none;}
.p-search-match:last-child {border-bottom:0;}
.p-search-match:hover {background:#f6fbfe;}
.p-search-match:focus-visible {outline:3px solid #10a2d0;outline-offset:-3px;}
.p-search-match>span:nth-child(2) {min-width:0;flex:1;}
.p-search-match strong {display:block;font-size:13px;line-height:1.3;}
.p-search-match small {display:block;font-size:11px;color:#637e91;margin-top:4px;}
.p-search-score {text-align:right;white-space:nowrap;font-size:15px;font-weight:800;color:#102f47;font-variant-numeric:tabular-nums;}
@media (max-width:1200px) and (min-width:701px) { .portal .topbar-search span {display:none;} .portal .topbar-search {min-width:44px;padding:8px;} }
@media print { .portal .brand-search,.portal .topbar-search {display:none!important;} }

/* V18 — partidos recientes en la ficha, usando únicamente actuaciones confirmadas. */
.portal .p-player-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.portal .p-player-match{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:15px 17px;border:1px solid #dce7ee;background:#fff;border-radius:12px;min-width:0;color:#143149;text-decoration:none;transition:background .15s,border-color .15s;}
.portal .p-player-match:hover{border-color:#88b9cf;background:#f9fdff;}
.portal .p-player-match:focus-visible{outline:3px solid #08a4d6;outline-offset:2px;}
.portal .p-player-match-top{display:flex;align-items:center;gap:11px;min-width:0;}
.portal .p-player-match-rival{min-width:0;flex:1;}
.portal .p-player-match-rival strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere;}
.portal .p-player-match-rival small{display:block;color:#627e90;font-size:11px;margin-top:3px;line-height:1.45;}
.portal .p-player-match .p-badge{flex-shrink:0;}
.portal .p-player-match .p-badge.outcome-win{background:#edf7f0;border-color:#d4e9db;color:#286646;}
.portal .p-player-match .p-badge.outcome-loss{background:#fff0ef;border-color:#edcfcd;color:#9f4542;}
.portal .p-player-match-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid #edf2f5;font-size:11px;color:#60788b;}
.portal .p-player-match-bottom strong{font-size:18px;font-weight:800;color:#132e42;white-space:nowrap;font-variant-numeric:tabular-nums;}
@media (max-width:760px){
  .portal .p-player-match-grid{grid-template-columns:1fr;gap:9px;}
  .portal .p-player-match{padding:13px 14px;}
  .portal .p-player-match-top{gap:9px;}
  .portal .p-player-match-rival strong{font-size:13px;}
  .portal .p-player-match-rival small{font-size:10px;}
  .portal .p-player-match .p-badge{font-size:9px;padding:3px 6px;}
  .portal .p-player-match-bottom{flex-wrap:wrap;}
}
@media print{.portal .p-player-match-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.portal .p-player-match{break-inside:avoid;}}
