@charset "UTF-8";

.textAreaSingleSpace p {
  /* remove the default paragraph spacing */
  margin: 0;
  /* if you still want a tiny gap between paras, you can use:
     margin-bottom: 0.5em;
     instead of margin:0;
  */
}

.ui-datepicker-month, .ui-datepicker-year{
	height: 40px;
	
}

.layout-topbar-light .layout-topbar {
	background: linear-gradient(180deg, #08a5e7 0%, #009ce2 68%, #0096da 100%) !important;
	border-bottom: 1px solid rgba(7, 76, 112, 0.38);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),
		0 24px 64px -2px rgba(0, 0, 0, 0.02),
		0 6px 16px -2px rgba(0, 0, 0, 0.06),
		0 2px 6px -2px rgba(0, 0, 0, 0.08);
}

.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button:hover {
    background-color: #009ce2;
    -moz-transition: background-color 0.2s;
    -o-transition: background-color 0.2s;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
}

.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-left .layout-topbar-logo>img
	{
	height: 40px;
}

body .ui-state-disabled {
	opacity: 0.9;
}

.ui-toolbar-group-left, .ui-toolbar-group-right {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
}

ul.star-bullets {
	list-style-type: none; /* Remove default bullets */
	padding: 0;
}

ul.star-bullets li {
	position: relative;
	padding-left: 1.5em;
}

ul.star-bullets li::before {
	content: '★'; /* Star Unicode character */
	position: absolute;
	left: 0;
	color: #1A74C5; /* Azure blue color */
}

ul.cowboy-bullets {
	list-style-type: none; /* Remove default bullets */
	padding: 0;
}

ul.cowboy-bullets li {
	position: relative;
	padding-left: 1.5em;
}

ul.cowboy-bullets li::before {
	content: '';
	position: absolute;
	left: 0;
	width: 16px; /* Adjust size as needed */
	height: 16px; /* Adjust size as needed */
	background-image:
		url('https://danielbase.s3.amazonaws.com/images/cowboy-hat.svg');
	/* Path to your cowboy hat SVG file */
	background-size: contain;
	background-repeat: no-repeat;
}

ul.cactus-bullets {
	list-style-type: none; /* Remove default bullets */
	padding: 0;
}

ul.cactus-bullets li {
	position: relative;
	padding-left: 1.5em;
}

ul.cactus-bullets li::before {
	content: '';
	position: absolute;
	left: 0;
	width: 16px; /* Adjust size as needed */
	height: 16px; /* Adjust size as needed */
	background-image:
		url('https://danielbase.s3.amazonaws.com/images/cactus.svg');
	/* Path to your cactus SVG file */
	background-size: contain;
	background-repeat: no-repeat;
}

/* body .ui-button {
	background: #2099F0;
	border: 1px solid #2099F0
}

body.main-body {
	background: #EEF8FF;
	}

body .ui-panel .ui-panel-content {
	border: 1px solid #34F6F2;
	background: #FFFFFF;
	color: #515C66;
	padding: 1rem;
}

body .ui-panel .ui-panel-titlebar {
	border: 1px solid #0D2149;
	background: #0D2149;
	color: #FFFFFF;
}

.layout-topbar-actions > li > a > .topbar-icon {
    color: #34F6F2;
}
 */
/* fixes checkbox in header being centered 
body .ui-datatable .ui-selection-column .ui-chkbox-all{
	
	display: inline;
}
*/
.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button
	{
	border-radius: 0;
}

.ui-galleria-item-wrapper {
	background-color: #000000;
}

@media
(
max-width
:
992px)
{
/* This is for the mobile menu to be top and left*/
.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button
	{
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0;
}

.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button
	{
	width: 50px;
	height: 70px;
}

.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button
	{
	color: #FFFFFF;
	background: transparent;
	border-bottom: 1px solid rgba(7, 76, 112, 0.38);
	box-shadow: none;
}

.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button:hover {
	background: rgba(7, 76, 112, 0.12);
}
/* END This is for the mobile menu to be top and left*/


.layout-topbar-light .layout-topbar {
	height: 70px;
}
/* 	.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .menu-button
		{
		top: 15px;
	} */
.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-left
	{
	height: 56px;
	margin-left: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.layout-wrapper .layout-main {
	padding-top: 70px;
}

.layout-wrapper .menu-wrapper {
	top: 70px;
}

}
@media ( min-width : 993px) {
}

.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-right .layout-topbar-actions
	{
	width: 100%;
	-ms-flex-pack: start;
	justify-content: flex-end;
	padding: 0 16px;
}

@media ( min-width : 992px) {
	.layout-topbar-light .layout-topbar .layout-topbar-wrapper .layout-topbar-left
		{
		border-bottom: 0px;
	}
}

/* Show Picks page styles moved from db-show-pick.xhtml */
            .sp-page.sp-pick-page {
                --sp-win-bg: #ecfdf3;
                --sp-win-border: #36a768;
                --sp-loss-bg: #fef2f2;
                --sp-loss-border: #d83a3a;
                --sp-accent: #009ce2;
                --sp-accent-soft: #e8f5ff;
                --sp-soft: #f7fafc;
                --sp-neutral-border: #dbe7f3;
                --sp-neutral-text: #5c7189;
            }

/* Task 09: private shared-show history. */
.together-page {
    display: grid;
    gap: 1.25rem;
    max-width: 72rem;
    margin: 0 auto;
}

.together-summary-grid,
.together-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.together-stat-card,
.together-highlight,
.together-history,
.together-empty,
.together-unavailable {
    border: 1px solid #d7e6ef;
    border-radius: 0.9rem;
    background: #ffffff;
    box-shadow: 0 0.15rem 0.65rem rgba(21, 62, 117, 0.08);
}

.together-stat-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.2rem 0.8rem;
    padding: 1.15rem;
}

.together-stat-card > i {
    grid-row: 1 / span 2;
    color: #e24600;
    font-size: 1.45rem;
}

.together-stat-card strong {
    color: #153e75;
    font-size: 1.8rem;
    line-height: 1;
}

.together-stat-card span,
.together-highlight > span,
.together-history__header span,
.together-show-card span,
.together-show-card small {
    color: #52657a;
}

.together-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.together-highlight {
    display: grid;
    gap: 0.55rem;
    padding: 1.25rem;
}

.together-highlight h2,
.together-highlight p {
    margin: 0;
}

.together-highlight > a,
.together-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #006b9b;
    font-weight: 700;
}

.together-history {
    margin-top: 1.25rem;
    padding: 1.25rem;
    scroll-margin-top: 7.25rem;
}

.together-history__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.together-history__header h2 {
    margin: 0.15rem 0 0;
}

.together-show-list {
    display: grid;
    gap: 0.7rem;
}

.together-show-card {
    display: grid;
    grid-template-columns: minmax(7rem, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 64px;
    border: 1px solid #d7e6ef;
    border-radius: 0.75rem;
    color: inherit;
    padding: 0.8rem 1rem;
    text-decoration: none;
}

.together-show-card:hover,
.together-show-card:focus-visible {
    border-color: #009ce2;
    box-shadow: 0 0 0 2px rgba(0, 156, 226, 0.16);
    outline: none;
}

.together-show-card time {
    color: #153e75;
    font-weight: 700;
}

.together-show-card__body {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.together-show-card__body strong,
.together-show-card__body span,
.together-show-card__body small {
    overflow-wrap: anywhere;
}

.together-pagination {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.together-pagination__link {
    gap: 0.45rem;
    min-width: 7rem;
    border: 1px solid #8bafc1;
    border-radius: 0.65rem;
    padding: 0.55rem 0.85rem;
}

.together-empty,
.together-unavailable {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1.4rem;
}

.together-empty > i,
.together-unavailable > i {
    color: #e24600;
    font-size: 1.7rem;
}

.together-empty h2,
.together-empty p,
.together-unavailable h1,
.together-unavailable p {
    margin: 0.15rem 0;
}

.together-unavailable {
    flex-direction: column;
    text-align: center;
}

@media (max-width: 700px) {
    .together-summary-grid,
    .together-highlights {
        grid-template-columns: 1fr;
    }

    .together-history {
        padding: 1rem;
    }

    .together-history__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .together-show-card {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.35rem 0.7rem;
        min-height: 72px;
    }

    .together-show-card time {
        grid-column: 1 / -1;
    }

    .together-pagination__link {
        flex: 1 1 0;
    }
}

/* Authenticated friend-visible concert profiles */
.profile-page,
.profile-subject-header,
.user-shows-page,
.user-songs-page,
.together-page,
.together-music-page {
    min-width: 0;
    width: min(100%, 75rem);
    max-width: 75rem;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
}

.profile-subject-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #cfe5f1;
    border-radius: 1rem;
    background: linear-gradient(135deg, #eef8fd 0%, #f8fcfe 100%);
    padding: 1.2rem 1.35rem 0;
    overflow: hidden;
}

.profile-subject-header--together {
    border-color: #f0d3c4;
    background: linear-gradient(135deg, #fff5ed 0%, #fffaf5 100%);
}

.profile-avatar {
    position: relative;
    display: grid;
    width: 96px;
    height: 96px;
    place-items: center;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 50%;
    background: linear-gradient(145deg, #009ce2, #006b9b);
    box-shadow: 0 4px 12px rgba(21, 62, 117, .18);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.profile-avatar__image,
.friend-avatar__image,
.profile-photo-settings__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-avatar__initials,
.friend-avatar__initials,
.profile-photo-settings__initials {
    line-height: 1;
}

.profile-subject-header__identity {
    min-width: 0;
}

.profile-subject-header__identity h1 {
    margin: .1rem 0;
    overflow-wrap: anywhere;
    color: #153e75;
    font-size: clamp(1.6rem, 4vw, 2.35rem);
}

.profile-subject-header__page-title {
    display: block;
    color: #52657a;
    font-size: .9rem;
    font-weight: 700;
}

.profile-subject-header__eyebrow {
    color: #c83d00;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.profile-subject-header--profile .profile-subject-header__eyebrow {
    color: #006b9b;
}

.profile-subject-nav,
.profile-page__actions,
.profile-pagination {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.profile-subject-nav--workspaces {
    gap: .35rem;
    flex-wrap: nowrap;
    align-items: stretch;
    border: 1px solid rgba(21, 62, 117, .14);
    border-radius: .8rem;
    background: rgba(255, 255, 255, .72);
    padding: .3rem;
    box-shadow: 0 3px 10px rgba(21, 62, 117, .08);
}

.profile-subject-nav a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: .58rem;
    padding: .6rem 1rem;
    color: #40566b;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.profile-subject-nav a:hover,
.profile-subject-nav a:focus-visible {
    background: #fff;
    color: #153e75;
    transform: translateY(-1px);
}

.profile-subject-nav a:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid #ffcf5c;
    outline-offset: -3px;
}

.profile-subject-nav__profile.is-active {
    border-color: #006b9b;
    background: #006b9b;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 107, 155, .2);
}

.profile-subject-nav__together.is-active {
    border-color: #c83d00;
    background: #c83d00;
    color: #fff;
    box-shadow: 0 2px 6px rgba(200, 61, 0, .2);
}

.profile-subject-nav__profile.is-active:hover,
.profile-subject-nav__profile.is-active:focus-visible {
    background: #006b9b;
    color: #fff;
}

.profile-subject-nav__together.is-active:hover,
.profile-subject-nav__together.is-active:focus-visible {
    background: #c83d00;
    color: #fff;
}

.profile-section-nav {
    display: flex;
    grid-column: 1 / -1;
    align-items: flex-end;
    gap: .2rem;
    min-width: 0;
    margin: 0 -1.35rem;
    border-top: 1px solid rgba(21, 62, 117, .1);
    background: rgba(255, 255, 255, .52);
    padding: .15rem 1.35rem 0;
    overflow-x: auto;
}

.profile-section-nav a {
    display: inline-flex;
    min-height: 46px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-bottom: 3px solid transparent;
    padding: .7rem .9rem .55rem;
    color: #52657a;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.profile-section-nav a:hover,
.profile-section-nav a:focus-visible {
    background: rgba(255, 255, 255, .8);
    color: #153e75;
}

.profile-section-nav a:focus-visible {
    outline: 3px solid #ffcf5c;
    outline-offset: -3px;
}

.profile-section-nav--profile a.is-active {
    border-bottom-color: #007fb8;
    background: #fff;
    color: #006b9b;
}

.profile-section-nav--together a.is-active {
    border-bottom-color: #e24600;
    background: #fff;
    color: #b83700;
}

.profile-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.profile-stat-card {
    display: grid;
    min-width: 0;
    gap: .4rem;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    background: #fff;
    padding: 1.25rem;
    box-shadow: 0 2px 8px rgba(21, 62, 117, .06);
}

.profile-stat-card__header {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .6rem;
}

.profile-stat-card__header > .fa {
    flex: 0 0 auto;
    color: #009ce2;
    font-size: 1.45rem;
}

.profile-stat-card__header h2 {
    margin: 0;
    color: #52657a;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.3;
}

.profile-stat-card strong {
    color: #153e75;
    font-size: 2rem;
}

.profile-stat-card--date strong {
    font-size: 1.35rem;
    line-height: 1.35;
}

.profile-saloon-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.profile-saloon-metrics > div {
    display: grid;
    gap: .2rem;
}

.profile-saloon-metrics strong {
    font-size: 1.6rem;
}

.profile-stat-card span {
    color: #52657a;
}

.profile-stat-card__detail,
.profile-song-duration {
    font-weight: 600;
}

.profile-recorded-shows {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.profile-recorded-show {
    min-width: 0;
    border: 1px solid #d8e5ed;
    border-radius: .7rem;
    background: #f7fbfd;
    padding: .85rem;
}

.profile-recorded-show__label {
    display: block;
    margin-bottom: .2rem;
    color: #60798a;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.profile-recorded-show__link {
    display: grid !important;
    gap: .12rem;
    min-height: 0 !important;
    margin-top: 0 !important;
    text-decoration: none;
}

.profile-recorded-show__link strong {
    color: #006b9b;
    font-size: 1.15rem;
    line-height: 1.3;
}

.profile-recorded-show__band {
    color: #153e75 !important;
    font-weight: 700;
}

.profile-recorded-show__venue,
.profile-recorded-show__location,
.profile-recorded-show__extra {
    color: #52657a;
    font-size: .88rem;
}

.profile-recorded-show__extra {
    font-style: italic;
}

.profile-mutual-friends {
    margin-top: .15rem;
}

.profile-mutual-friends .friends-at-show-entry {
    margin-top: 0;
}

.profile-mutual-friends__more {
    width: fit-content;
    margin-top: .2rem !important;
}

.profile-card-empty {
    color: #60798a;
    font-weight: 600;
}

body .ui-dialog.profile-mutual-friends-dialog {
    max-width: calc(100vw - 2rem);
}

body .profile-mutual-friends-dialog .ui-dialog-content {
    max-height: min(72vh, 42rem);
    padding: 1rem;
    overflow-y: auto;
}

.profile-mutual-friends-dialog__summary {
    margin: 0;
    color: #52657a;
    font-weight: 700;
}

.profile-song-header-duration {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: .45rem;
    color: #52657a;
    font-size: .88rem;
    font-weight: 700;
}

.profile-song-header-duration .fa {
    color: #007fb8;
}

.profile-show-history {
    width: 100%;
    box-sizing: border-box;
    margin: 1rem 0 2rem;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    padding: 1.25rem;
}

.profile-filter-card,
.user-shows-visuals-card {
    width: 100%;
    box-sizing: border-box;
    margin-right: 0;
    margin-left: 0;
}

.profile-show-history__header {
    margin-bottom: .85rem;
}

.profile-show-history__header span {
    color: #60798a;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.profile-show-history__header h2 {
    margin: .15rem 0 0;
    color: #153e75;
    font-size: 1.5rem;
}

.profile-show-scroller.ui-datascroller,
.profile-show-scroller .ui-datascroller-content {
    border: 0;
    background: transparent;
    padding: 0;
}

.profile-show-scroller .ui-datascroller-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.profile-show-scroller .ui-datascroller-item {
    list-style: none;
}

.profile-show-card {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 .8rem;
    border: 1px solid #d7e6ef;
    border-top: 3px solid #006b9b;
    border-radius: .75rem;
    background: #fbfdfe;
    padding: .45rem .65rem;
    box-shadow: 0 2px 7px rgba(21, 62, 117, .06);
}

.profile-show-card:last-child {
    margin-bottom: 0;
}

.profile-stat-card a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    margin-top: auto;
    font-weight: 700;
}

.profile-page__actions {
    margin: 1rem 0 2rem;
}

.profile-page__actions .ui-button,
.profile-pagination .ui-button,
.profile-unavailable .ui-button {
    min-height: 44px;
}

.profile-unavailable {
    max-width: 42rem;
    margin: 2rem auto;
    border: 1px solid #d8e5ed;
    border-radius: 1rem;
    background: #fff;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 4px 14px rgba(21, 62, 117, .08);
}

.profile-unavailable > .fa {
    color: #607d8b;
    font-size: 2.5rem;
}

.profile-unavailable h1 {
    margin-bottom: .4rem;
    color: #153e75;
}

.profile-unavailable p {
    color: #52657a;
}

.profile-pagination {
    justify-content: center;
    margin: 1rem 0 2rem;
}

.profile-pagination > span {
    color: #52657a;
    font-weight: 700;
}

.profile-song-occurrences {
    overflow-wrap: anywhere;
    padding: .35rem 1rem .65rem;
}

.profile-ftp-preview {
    display: grid;
    gap: .45rem;
}

.profile-ftp-entry {
    display: grid;
    min-width: 0;
    gap: .08rem;
    border-left: 3px solid #009ce2;
    border-radius: .35rem;
    background: #f7fbfd;
    padding: .45rem .6rem;
}

.profile-ftp-entry__song {
    min-height: 0 !important;
    margin-top: 0 !important;
    color: #006b9b;
    font-weight: 800;
}

.profile-ftp-entry__show {
    min-height: 0 !important;
    margin-top: 0 !important;
    color: #52657a;
    font-size: .9rem;
    font-weight: 600;
}

.profile-ftp-see-all {
    width: fit-content;
    margin-top: .35rem;
}

body .ui-dialog.profile-ftp-dialog {
    max-width: calc(100vw - 2rem);
}

body .profile-ftp-dialog .ui-dialog-content {
    max-height: min(72vh, 42rem);
    padding: 1rem;
    overflow-y: auto;
}

.profile-ftp-dialog__summary {
    margin: 0;
    color: #52657a;
    font-weight: 700;
}

.profile-ftp-list {
    display: grid;
    gap: .6rem;
    margin-top: .8rem;
}

.profile-ftp-list__entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 64px;
    align-items: center;
    gap: .75rem;
    border: 1px solid #d8e5ed;
    border-radius: .8rem;
    background: #fbfdff;
    padding: .6rem .75rem;
}

.profile-ftp-list__identity {
    display: grid;
    min-width: 0;
    gap: .15rem;
}

.profile-ftp-list__identity a:first-child {
    color: #153e75;
    font-size: 1.02rem;
    font-weight: 800;
}

.profile-ftp-list__identity a:last-child {
    color: #52657a;
    font-size: .88rem;
    font-weight: 600;
}

.profile-ftp-list__entry > .fa {
    color: #6f8291;
}

.profile-song-stats-card,
.profile-songs-seen-card {
    box-sizing: border-box;
    margin: 1rem 0;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    padding: 1rem;
    overflow: hidden;
}

.profile-song-stats-card__header,
.profile-songs-seen-card__header {
    margin-bottom: .85rem;
}

.profile-song-stats-card__header h2,
.profile-songs-seen-card__header h2 {
    margin: 0;
    color: #153e75;
    font-size: 1.75rem;
    font-weight: 600;
}

.profile-song-stats-card__header p,
.profile-songs-seen-card__header p {
    margin: .2rem 0 0;
    color: #60798a;
    font-weight: 600;
}

.profile-songs-seen-card .ui-datatable {
    border: 1px solid #dfe9ef;
    border-radius: .75rem;
    overflow: hidden;
}

.user-songs-page .ui-datatable,
.user-songs-page .ui-datatable-tablewrapper {
    max-width: 100%;
}

@media (max-width: 767px) {
    .profile-subject-header {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: .8rem;
        padding: 1rem 1rem 0;
    }

    .profile-avatar {
        width: 64px;
        height: 64px;
        font-size: 1.15rem;
    }

    .profile-subject-nav {
        grid-column: 1 / -1;
        width: 100%;
    }

    .profile-subject-nav a {
        flex: 1 1 6rem;
        justify-content: center;
    }

    .profile-section-nav {
        width: auto;
        margin: 0 -1rem;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .profile-section-nav a {
        flex: 1 0 auto;
    }

    .profile-summary-grid {
        grid-template-columns: 1fr;
    }

    .profile-recorded-shows {
        grid-template-columns: 1fr;
    }

    .profile-song-stats-card,
    .profile-songs-seen-card {
        padding: .75rem;
    }

    .profile-page__actions .ui-button,
    .profile-pagination .ui-button {
        flex: 1 1 8rem;
    }

    .profile-unavailable {
        margin: 1rem 0;
        padding: 1.25rem;
    }

    .profile-show-history {
        padding: 1rem;
    }

    .profile-filter-card {
        margin-right: 0;
        margin-left: 0;
    }
}

/* Authenticated Friends Hub */
.friends-hub {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1rem 0 2rem;
}

.friends-hub__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1rem;
    border: 1px solid #cfe5f1;
    border-radius: 1rem;
    background: linear-gradient(135deg, #f0f9fd 0%, #fff7f0 100%);
    padding: 1.4rem 1.6rem;
}

.friends-hub__intro h1,
.friends-hub__section-heading h2,
.friend-card h3 {
    margin: 0;
    color: #153e75;
}

.friends-hub__intro p,
.friends-hub__section-heading p {
    margin: .35rem 0 0;
    color: #52657a;
}

.friends-hub__eyebrow {
    display: block;
    margin-bottom: .3rem;
    color: #c83d00;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.friends-tabs {
    display: flex;
    gap: .35rem;
    overflow-x: auto;
    border-bottom: 1px solid #d8e5ed;
    scrollbar-width: thin;
}

.friends-tab {
    min-height: 44px;
    padding: .75rem 1rem;
    flex: 0 0 auto;
    border-radius: .65rem .65rem 0 0;
    color: #52657a;
    font-weight: 700;
    text-decoration: none;
}

.friends-tab:hover,
.friends-tab:focus-visible {
    background: #f0f9fd;
    color: #006b9b;
}

.friends-tab:focus-visible {
    outline: 3px solid rgba(0, 156, 226, .35);
    outline-offset: -3px;
}

.friends-tab.is-active {
    border-bottom: 3px solid #009ce2;
    color: #153e75;
}

.friends-tab-panel {
    padding-top: 1.25rem;
}

.friends-hub__section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.friends-filter,
.friends-search {
    width: min(100%, 28rem);
}

.friends-filter label,
.friends-search label {
    display: block;
    margin-bottom: .4rem;
    color: #294c67;
    font-weight: 700;
}

.friends-input-action {
    display: flex;
    width: 100%;
    align-items: stretch;
}

.friends-input-action .ui-inputtext {
    min-width: 0;
    flex: 1 1 auto;
    border-radius: .45rem 0 0 .45rem;
}

.friends-input-action__button {
    display: inline-flex;
    min-width: 6.25rem;
    min-height: 2.5rem;
    padding: .55rem 1rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 1px solid #009ce2;
    border-radius: 0 .45rem .45rem 0;
    background: #009ce2;
    color: #fff;
    font: inherit;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.friends-input-action__button:hover {
    border-color: #007db5;
    background: #007db5;
}

.friends-input-action__button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 156, 226, .3);
}

.friends-input-action__button .fa {
    width: 1rem;
    font-size: .95rem;
    text-align: center;
}

.friends-card-list {
    display: grid;
    gap: .8rem;
}

.friend-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 2px 8px rgba(21, 62, 117, .06);
}

.friend-card--linked {
    grid-template-columns: minmax(0, 1fr) auto;
}

.friend-card--not-friend {
    border-style: dashed;
    border-color: #b9cfdb;
    background: #f7fafc;
    box-shadow: none;
}

.friend-card--not-friend .friend-card__body h3 {
    color: #52657a;
}

.friend-card__profile-link {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    border-radius: .65rem;
    color: inherit;
    text-decoration: none;
}

.friend-card__profile-link:hover h3 {
    color: #007fb8;
    text-decoration: underline;
}

.friend-card__profile-link:focus-visible {
    outline: 3px solid rgba(0, 156, 226, .35);
    outline-offset: 4px;
}

.friend-avatar {
    position: relative;
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    place-items: center;
    overflow: hidden;
    flex: 0 0 auto;
    border-radius: 50%;
    background: linear-gradient(145deg, #009ce2, #006b9b);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.friend-avatar--muted {
    background: linear-gradient(145deg, #788896, #4b5964);
}

/* Owner-only profile photo controls */
.profile-photo-settings-grid {
    margin-top: 1rem;
}

.settings-section-messages.ui-messages > div {
    margin: 0 0 1rem;
}

.profile-photo-settings {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 1.25rem;
    min-width: 0;
}

.profile-photo-settings__preview {
    position: relative;
    display: grid;
    width: 8rem;
    height: 8rem;
    place-items: center;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 50%;
    background: linear-gradient(145deg, #009ce2, #006b9b);
    box-shadow: 0 4px 14px rgba(21, 62, 117, .2);
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.profile-photo-settings__content {
    min-width: 0;
}

.profile-photo-settings__content h2 {
    margin: 0 0 .4rem;
    color: #153e75;
}

.profile-photo-settings__content p {
    max-width: 42rem;
    margin: 0 0 1rem;
    color: #52657a;
    line-height: 1.5;
}

.profile-photo-settings__form {
    display: grid;
    max-width: 34rem;
    gap: .65rem;
}

.profile-photo-settings__form label {
    font-weight: 700;
}

.profile-photo-settings__form input[type="file"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    border: 1px solid #9fc9dd;
    border-radius: .45rem;
    background: #fff;
    color: #52657a;
    font: inherit;
}

.profile-photo-settings__form input[type="file"]::file-selector-button {
    min-height: 44px;
    margin: -1px .75rem -1px -1px;
    padding: .55rem 1rem;
    border: 1px solid #009ce2;
    border-radius: .45rem 0 0 .45rem;
    background: #009ce2;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}

.profile-photo-settings__form input[type="file"]::file-selector-button:hover {
    border-color: #007db5;
    background: #007db5;
}

.profile-photo-settings__form input[type="file"]:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 156, 226, .3);
}

.profile-photo-settings__button {
    display: inline-flex;
    box-sizing: border-box;
    min-width: 9rem;
    min-height: 44px;
    width: fit-content;
    padding: .65rem 1rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 1px solid;
    border-radius: .45rem;
    font: inherit;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.profile-photo-settings__button--primary {
    border-color: #009ce2;
    background: #009ce2;
    color: #fff;
}

.profile-photo-settings__button--primary:hover {
    border-color: #007db5;
    background: #007db5;
}

.profile-photo-settings__button--danger {
    border-color: #c83d00;
    background: #fff;
    color: #a83200;
}

.profile-photo-settings__button--danger:hover {
    background: #fff1eb;
    color: #872800;
}

.profile-photo-settings__button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 156, 226, .3);
}

.profile-photo-settings__button--danger:focus-visible {
    box-shadow: 0 0 0 3px rgba(200, 61, 0, .22);
}

.profile-photo-settings__delete {
    margin-top: .75rem;
}

@media (max-width: 575px) {
    .profile-photo-settings {
        grid-template-columns: minmax(0, 1fr);
    }

    .profile-photo-settings__preview {
        width: 6rem;
        height: 6rem;
        font-size: 1.5rem;
    }

    .profile-photo-settings__button {
        width: 100%;
    }
}

.friend-card__body {
    min-width: 0;
}

.friend-card__body h3 {
    overflow-wrap: anywhere;
    font-size: 1.08rem;
}

.friend-state {
    display: inline-block;
    margin-top: .25rem;
    color: #52657a;
    font-size: .85rem;
}

.friend-state--accepted {
    color: #14754d;
    font-weight: 700;
}

.friend-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}

.friend-actions__more {
    position: relative;
    flex: 0 0 auto;
}

.friend-actions__more summary {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 1px solid #9fc9dd;
    border-radius: .45rem;
    background: #fff;
    padding: .55rem .8rem;
    color: #294c67;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.friend-actions__more summary::-webkit-details-marker {
    display: none;
}

.friend-actions__more summary:hover,
.friend-actions__more summary:focus-visible {
    border-color: #009ce2;
    color: #006b9b;
}

.friend-actions__more summary:focus-visible {
    outline: 3px solid rgba(0, 156, 226, .3);
    outline-offset: 2px;
}

.friend-actions__more-menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + .35rem);
    right: 0;
    display: grid;
    width: max-content;
    min-width: 10rem;
    gap: .2rem;
    border: 1px solid #d8e5ed;
    border-radius: .55rem;
    background: #fff;
    padding: .35rem;
    box-shadow: 0 8px 22px rgba(21, 62, 117, .18);
}

.friend-actions__more-menu .ui-button,
body .friend-actions__more-menu .ui-button {
    width: 100%;
    justify-content: flex-start;
    border-color: transparent;
    background: transparent;
    color: #294c67;
    box-shadow: none;
    text-align: left;
}

.friend-actions__menu-danger,
.friend-actions__more-menu .friend-actions__menu-danger.ui-button {
    color: #b42318;
}

.mutual-friends {
    margin-top: .55rem;
    color: #294c67;
    font-size: .85rem;
    line-height: 1.45;
}

.mutual-friends .fa {
    margin-right: .25rem;
    color: #009ce2;
}

.mutual-friends__names {
    margin-left: .25rem;
}

.friend-cooldown {
    display: block;
    margin-top: .5rem;
    color: #9a3d14;
}

.friends-empty {
    display: flex;
    align-items: center;
    gap: .85rem;
    border: 1px dashed #b9cfdb;
    border-radius: .9rem;
    background: #f8fbfd;
    padding: 1.15rem;
    color: #52657a;
}

.friends-empty > .fa {
    color: #009ce2;
    font-size: 1.35rem;
}

.friends-empty > .fa-face-cowboy-hat,
.friends-empty > .fa-badge-sheriff {
    flex: 0 0 2.25rem;
    color: #009ce2;
    font-size: 2rem;
    text-align: center;
}

.friends-empty strong,
.friends-empty span {
    display: block;
}

.friends-empty strong {
    color: #153e75;
}

.friends-empty span {
    margin-top: .15rem;
    font-size: .85rem;
}

.friends-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-top: 1rem;
}

.friends-pagination > span {
    color: #52657a;
    font-weight: 700;
}

@media (max-width: 767px) {
    .friends-hub {
        padding-top: .25rem;
    }

    .friends-hub__intro {
        align-items: flex-start;
        padding: 1.1rem;
    }

    .friends-hub__section-heading,
    .friends-hub__section-heading--search {
        align-items: stretch;
        flex-direction: column;
    }

    .friend-card {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
        padding: .85rem;
    }

    .friend-card--linked {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .friend-card--linked .friend-actions {
        grid-column: auto;
        justify-content: flex-end;
    }

    .friend-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .friend-actions .ui-button {
        flex: 1 1 8.5rem;
        min-height: 2.75rem;
    }

    .friend-actions .friend-actions__more {
        margin-left: auto;
    }


    .friends-pagination {
        justify-content: space-between;
    }
}

/* Authenticated notification bell, recent panel, and inbox */
.notification-bell-form {
    margin-left: auto;
}

.notification-bell-wrap {
    position: relative;
}

.notification-bell-button.ui-button,
body .notification-bell-button.ui-button {
    display: inline-flex;
    box-sizing: border-box;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid #111;
    border-radius: 50%;
    background: #e8f1f8;
    color: #294c67;
}

.notification-bell-button.ui-button .ui-button-icon-left,
.notification-bell-button.ui-button .ui-button-icon-right,
.notification-bell-button.ui-button .ui-icon,
body .notification-bell-button.ui-button.ui-button-icon-only .ui-icon {
    position: static;
    margin: 0;
    color: inherit;
    font-size: 1.2rem;
    line-height: 1;
}

.notification-bell-button.ui-button .ui-button-text {
    display: none;
}

.notification-bell-button.ui-button:hover,
.notification-bell-button.ui-button:focus-visible {
    background: #d6eaf5;
    color: #006b9b;
}

.notification-bell-button.ui-button:focus-visible {
    outline: 3px solid rgba(0, 156, 226, .35);
    outline-offset: 2px;
}

.notification-badge {
    position: absolute;
    top: -.35rem;
    right: -.45rem;
    display: grid;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 .28rem;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #c83d00;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

body .ui-dialog.notification-panel {
    top: 7rem !important;
    right: 1rem !important;
    left: auto !important;
    max-width: calc(100vw - 2rem);
    border: 1px solid #b7d6e5;
    border-radius: .9rem;
    background: #eaf4f9;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(21, 62, 117, .25),
        0 0 0 1px rgba(255, 255, 255, .72) inset;
}

body .ui-dialog.notification-panel .ui-dialog-titlebar {
    border-bottom: 1px solid #bfd9e6;
    background: linear-gradient(135deg, #dff1f8 0%, #eef7fb 100%);
    color: #153e75;
}

body .ui-dialog.notification-panel .ui-dialog-content {
    max-height: min(65vh, 34rem) !important;
    padding: 0;
    background: #eaf4f9;
    overflow-y: auto;
}

.notification-panel__state,
.notification-inbox__state {
    display: flex;
    align-items: center;
    gap: .85rem;
    border: 1px dashed #b9cfdb;
    border-radius: .9rem;
    background: #f8fbfd;
    padding: 1.15rem;
    color: #52657a;
}

.notification-panel__state {
    margin: 1rem;
    flex-direction: column;
    text-align: center;
}

.notification-panel__state > .fa,
.notification-inbox__state > .fa {
    color: #009ce2;
    font-size: 1.45rem;
}

.notification-panel__state strong,
.notification-panel__state span,
.notification-inbox__state strong,
.notification-inbox__state span {
    display: block;
}

.notification-panel__state strong,
.notification-inbox__state strong {
    color: #153e75;
}

.notification-panel__state span,
.notification-inbox__state span {
    margin-top: .2rem;
    font-size: .85rem;
}

.notification-recent-list {
    display: grid;
    gap: .55rem;
    padding: .65rem;
}

.notification-recent-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .7rem;
    border: 1px solid #d2e4ed;
    border-radius: .7rem;
    background: #fff;
    padding: .9rem 1rem;
    box-shadow: 0 2px 8px rgba(21, 62, 117, .07);
}

.notification-recent-item.is-unread {
    border-left: 4px solid #009ce2;
    background: #f0f9fd;
    padding-left: .75rem;
}

.notification-recent-item__body {
    min-width: 0;
}

.notification-recent-item__body p {
    margin: .25rem 0;
    color: #153e75;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.notification-recent-item__body time,
.notification-card__meta {
    color: #63778b;
    font-size: .76rem;
}

.notification-recent-item__review.ui-button {
    grid-column: 2;
    justify-self: start;
}

.notification-panel__footer {
    border-top: 1px solid #c8dfe9;
    background: #e2f0f6;
    padding: .85rem 1rem;
    text-align: center;
}

.notification-view-all {
    color: #006b9b;
    font-weight: 800;
}

.notification-avatar {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #009ce2, #006b9b);
    color: #fff;
    font-weight: 800;
    letter-spacing: .03em;
}

.notification-item--accepted .notification-avatar {
    background: linear-gradient(145deg, #2b9a67, #14754d);
}

.notification-item--neutral .notification-avatar {
    background: linear-gradient(145deg, #788896, #4b5964);
}

.notification-read-state {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    color: #52657a;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.notification-read-state .fa-circle {
    color: #c83d00;
    font-size: .52rem;
}

.notification-read-state .fa-check {
    color: #14754d;
}

.notification-inbox {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1rem 0 2rem;
}

.notification-inbox__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1rem;
    border: 1px solid #cfe5f1;
    border-radius: 1rem;
    background: linear-gradient(135deg, #f0f9fd 0%, #fff7f0 100%);
    padding: 1.4rem 1.6rem;
}

.notification-inbox__intro h1 {
    margin: 0;
    color: #153e75;
}

.notification-inbox__intro p {
    margin: .35rem 0 0;
    color: #52657a;
}

.notification-inbox__eyebrow {
    display: block;
    margin-bottom: .3rem;
    color: #c83d00;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.notification-inbox__hero-icon {
    color: #009ce2;
    font-size: 3rem;
}

.notification-inbox__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    background: #fff;
    padding: .85rem 1rem;
}

.notification-inbox__count {
    display: flex;
    align-items: baseline;
    gap: .45rem;
    color: #52657a;
}

.notification-inbox__count strong {
    color: #153e75;
    font-size: 1.55rem;
}

.notification-inbox__list {
    display: grid;
    gap: .8rem;
    margin-top: 1rem;
}

.notification-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(12rem, auto);
    align-items: center;
    gap: 1rem;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 2px 8px rgba(21, 62, 117, .06);
}

.notification-card.is-unread {
    border-left: 5px solid #009ce2;
    background: #f7fcff;
    padding-left: .75rem;
}

.notification-card__body {
    min-width: 0;
}

.notification-card__body h2 {
    margin: .3rem 0;
    color: #153e75;
    font-size: 1.04rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.notification-card__meta {
    display: flex;
    gap: .7rem;
    flex-wrap: wrap;
}

.notification-card__meta span::before {
    content: "•";
    margin-right: .7rem;
}

.notification-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
    flex-wrap: wrap;
}

.notification-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-top: 1rem;
}

.notification-pagination > span {
    color: #52657a;
    font-weight: 700;
}

@media (max-width: 991px) {
    .notification-bell-form {
        position: absolute;
        top: .62rem;
        right: 1rem;
        z-index: 1000;
    }
}

@media (max-width: 767px) {
    body .ui-dialog.notification-panel {
        top: 6.7rem !important;
        right: .5rem !important;
        width: calc(100vw - 1rem) !important;
        max-width: none;
    }

    .notification-inbox {
        padding-top: .25rem;
    }

    .notification-inbox__intro {
        align-items: flex-start;
        padding: 1.1rem;
    }

    .notification-inbox__hero-icon {
        font-size: 2rem;
    }

    .notification-inbox__toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .notification-inbox__toolbar .ui-button {
        min-height: 44px;
    }

    .notification-card {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
        padding: .85rem;
    }

    .notification-card__actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .notification-card__actions .ui-button {
        flex: 1 1 8.75rem;
        min-height: 44px;
    }

    body .ui-dialog.notification-panel .ui-dialog-titlebar .ui-dialog-titlebar-close,
    .notification-recent-item__review.ui-button,
    .notification-view-all {
        min-height: 44px;
    }

    body .ui-dialog.notification-panel .ui-dialog-titlebar .ui-dialog-titlebar-close {
        display: inline-flex;
        box-sizing: border-box;
        flex: 0 0 44px;
        min-width: 44px;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 1px solid #8fbed4;
        border-radius: 50%;
        background: #fff;
        line-height: 1;
    }

    body .ui-dialog.notification-panel .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon {
        margin: 0;
        line-height: 1;
    }

    .notification-view-all {
        display: inline-flex;
        align-items: center;
    }

    .notification-pagination {
        justify-content: space-between;
    }
}

            .sp-pick-growl .ui-growl-item-container {
                padding-right: 2.8rem;
                overflow: hidden;
            }

            .sp-pick-growl .ui-growl-item-container.ui-growl-error,
            .sp-pick-growl .ui-growl-item-container.ui-state-error {
                background: #fff1f2;
                border: 1px solid #dc2626;
                color: #7f1d1d;
            }

            .sp-pick-growl .ui-growl-item-container.ui-growl-error .ui-growl-item,
            .sp-pick-growl .ui-growl-item-container.ui-state-error .ui-growl-item,
            .sp-pick-growl .ui-growl-item-container.ui-growl-error .ui-growl-message,
            .sp-pick-growl .ui-growl-item-container.ui-state-error .ui-growl-message {
                color: #7f1d1d;
                line-height: 1.45;
            }

            .sp-pick-growl .ui-growl-icon-close,
            .sp-pick-growl .ui-icon-closethick {
                opacity: 1 !important;
                right: 0.55rem;
                top: 0.55rem;
                width: 1.4rem;
                height: 1.4rem;
                border-radius: 999px;
                background: rgba(15, 23, 42, 0.08);
            }

            .sp-pick-growl .sp-growl-actions,
            .sp-growl-actions {
                display: block !important;
                width: calc(100% + 2rem);
                margin: 0.75rem -1rem -1rem -1rem;
                padding-top: 0;
            }

            .sp-pick-growl .sp-growl-dismiss-bar,
            .sp-growl-dismiss-bar {
                max-width: none !important;
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 0.6rem;
                border: 0;
                border-top: 1px solid #9ab4c8;
                border-radius: 0 0 0.95rem 0.95rem;
                background: #f8fbfe;
                color: #1f4664;
                font-size: 0.83rem;
                font-weight: 700;
                line-height: 1;
                padding: 0.72rem 0.85rem;
                cursor: pointer;
            }

            .sp-pick-growl .ui-growl-message p {
                display: block;
                width: 100%;
                margin: 0.35rem 0 0;
            }

            .sp-pick-growl .sp-growl-dismiss-bar:hover,
            .sp-pick-growl .sp-growl-dismiss-bar:focus-visible,
            .sp-growl-dismiss-bar:hover,
            .sp-growl-dismiss-bar:focus-visible {
                border-color: #1f6e9f;
                color: #0f4d73;
                background: #eef6fc;
            }

            .sp-pick-growl .sp-growl-dismiss-bar.sp-growl-dismiss-bar-error,
            .sp-growl-dismiss-bar.sp-growl-dismiss-bar-error {
                border-top-color: #e11d48;
                background: #ffe4e6;
                color: #9f1239;
            }

            .sp-pick-growl .sp-growl-dismiss-bar.sp-growl-dismiss-bar-error:hover,
            .sp-pick-growl .sp-growl-dismiss-bar.sp-growl-dismiss-bar-error:focus-visible,
            .sp-growl-dismiss-bar.sp-growl-dismiss-bar-error:hover,
            .sp-growl-dismiss-bar.sp-growl-dismiss-bar-error:focus-visible {
                border-top-color: #be123c;
                background: #fecdd3;
                color: #881337;
            }

            .sp-pick-growl .sp-growl-dismiss-label,
            .sp-growl-dismiss-label {
                letter-spacing: 0.01em;
                margin-right: 0.45rem;
            }

            .sp-pick-growl .sp-growl-countdown,
            .sp-growl-countdown {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                min-width: 2.2rem;
                color: #355a76;
                font-size: 0.78rem;
                font-weight: 700;
                line-height: 1;
            }

            .sp-page.sp-pick-page .sp-header-image-wrap {
                padding: 0 10%;
                margin: 0 0 1rem 0;
            }

            .sp-page.sp-pick-page .sp-header-image {
                display: block;
                width: 100%;
                max-width: 400px;
                height: auto;
                margin: 0 auto;
            }

            .sp-page.sp-pick-page .sp-panel {
                border-radius: 1.1rem;
                overflow: hidden;
            }

            .sp-page.sp-pick-page .sp-panel .ui-panel-content {
                padding: 1rem;
            }

            .sp-page.sp-pick-page .sp-show-row {
                border: 1px solid #c8ddf0;
                border-radius: 1.05rem;
                padding: 0.95rem 1rem;
                background: linear-gradient(132deg, #e9f6ff 0%, #ffffff 52%, #f4fbff 100%);
                position: relative;
                overflow: hidden;
            }

            .sp-page.sp-pick-page .sp-show-row::after {
                content: "";
                position: absolute;
                right: -42px;
                top: -42px;
                width: 140px;
                height: 140px;
                border-radius: 999px;
                background: radial-gradient(circle at center, rgba(0, 156, 226, 0.2) 0%, rgba(0, 156, 226, 0) 70%);
                pointer-events: none;
            }

            .sp-page.sp-pick-page .sp-show-row-topline {
                display: flex;
                align-items: center;
                gap: 0.45rem;
                margin-bottom: 0.45rem;
                position: relative;
                z-index: 1;
            }

            .sp-page.sp-pick-page .sp-show-row-icon {
                width: 1.6rem;
                height: 1.6rem;
                border-radius: 999px;
                border: 1px solid #9ecdf1;
                background: #f2f9ff;
                color: #0d67a5;
                font-size: 0.82rem;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .sp-page.sp-pick-page .sp-show-row-title {
                font-size: 0.72rem;
                text-transform: uppercase;
                letter-spacing: 0.05em;
                font-weight: 700;
                color: #2b6cb0;
            }

            .sp-page.sp-pick-page .sp-show-row-value {
                position: relative;
                z-index: 1;
                font-size: clamp(1.05rem, 2.1vw, 1.45rem);
                line-height: 1.3;
                font-weight: 800;
                color: #123a56;
            }

            .sp-page.sp-pick-page .sp-score-hero {
                border: 1px solid #cfe9db;
                border-radius: 1.1rem;
                background: linear-gradient(140deg, #ecfdf3 0%, #ffffff 58%, #f2fff8 100%);
                padding: 1.1rem 1rem;
            }

            .sp-page.sp-pick-page .sp-score-topline {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.6rem;
            }

            .sp-page.sp-pick-page .sp-score-total {
                font-size: clamp(2.5rem, 13vw, 4rem);
                line-height: 1;
                color: #1f7a49;
                font-weight: 800;
                text-shadow: 0 3px 10px rgba(31, 122, 73, 0.08);
                margin-top: 0.45rem;
            }

            .sp-page.sp-pick-page .sp-score-status {
                border-radius: 999px;
                font-size: 0.7rem;
                letter-spacing: 0.04em;
                padding: 0.2rem 0.55rem;
                border: 1px solid #9ad8b6;
                color: #1f7a49;
                background: #f2fff8;
                text-transform: uppercase;
                font-weight: 700;
            }

            .sp-page.sp-pick-page .sp-score-status.pending {
                border-color: #f3d9a8;
                color: #9a6a11;
                background: #fff8ea;
            }

            .sp-page.sp-pick-page .sp-exotic {
                border: 1px solid #9cd9ff;
                border-radius: 1rem;
                background: linear-gradient(130deg, #e8f5ff 0%, #ffffff 75%);
                padding: 0.95rem;
                position: relative;
                overflow: hidden;
            }

            .sp-page.sp-pick-page .sp-exotic::after {
                content: "";
                position: absolute;
                right: -36px;
                top: -36px;
                width: 110px;
                height: 110px;
                border-radius: 999px;
                background: radial-gradient(circle at center, rgba(0, 156, 226, 0.22) 0%, rgba(0, 156, 226, 0) 70%);
                pointer-events: none;
            }

            .sp-page.sp-pick-page .sp-exotic-grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.5rem;
                margin-top: 0.75rem;
            }

            .sp-page.sp-pick-page .sp-exotic-stat {
                border: 1px solid #d8e8f6;
                border-radius: 0.75rem;
                background: rgba(255, 255, 255, 0.85);
                padding: 0.45rem 0.55rem;
            }

            .sp-page.sp-pick-page .sp-exotic-stat .text-xs {
                color: var(--sp-neutral-text);
            }

            .sp-page.sp-pick-page .sp-pill {
                display: inline-flex;
                align-items: center;
                border-radius: 999px;
                padding: 0.2rem 0.65rem;
                font-size: 0.8rem;
                font-weight: 600;
                border: 1px solid #d6e2ef;
                background: #f7fbff;
                color: #37526d;
            }

            .sp-page.sp-pick-page .sp-pill.match {
                border-color: #9ad8b6;
                background: #effdf4;
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-pill.miss {
                border-color: #efb0b0;
                background: #fff3f3;
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-pill.na {
                border-color: #cbd8e6;
                background: #f5f8fc;
                color: #5c7189;
            }

            .sp-page.sp-pick-page .sp-pill.win {
                border-color: #9ad8b6;
                background: var(--sp-win-bg);
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-pill.loss {
                border-color: #efb0b0;
                background: var(--sp-loss-bg);
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-pill.rarity-favorite {
                border-color: #8dc1ff;
                background: #ecf5ff;
                color: #1f5e99;
            }

            .sp-page.sp-pick-page .sp-pill.rarity-long-shot {
                border-color: #8fdfbe;
                background: #edfbf4;
                color: #177246;
            }

            .sp-page.sp-pick-page .sp-pill.rarity-dark-horse {
                border-color: #f3b7b7;
                background: #fff0f0;
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-indicator-group {
                margin-top: 0.55rem;
                border: 1px solid #d8e8f6;
                border-radius: 0.75rem;
                background: #f9fcff;
                padding: 0.5rem 0.55rem;
            }

            .sp-page.sp-pick-page .sp-indicator-title {
                font-size: 0.74rem;
                text-transform: uppercase;
                letter-spacing: 0.04em;
                color: #5c7189;
                font-weight: 700;
                margin-bottom: 0.35rem;
            }

            .sp-page.sp-pick-page .sp-section-subtitle {
                font-size: 1.02rem;
                font-weight: 700;
                color: #2d6d98;
                letter-spacing: 0.01em;
            }

            .sp-page.sp-pick-page .sp-section-subtitle.score {
                color: #2f7f55;
            }

            .sp-page.sp-pick-page .sp-section-subtitle.lg {
                font-size: 1.2rem;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-score-list {
                display: grid;
                gap: 0.75rem;
            }

            .sp-page.sp-pick-page .sp-score-card {
                border: 1px solid #d9e5f2;
                border-radius: 0.95rem;
                background: #ffffff;
                padding: 0.85rem;
            }

            .sp-page.sp-pick-page .sp-score-card.win {
                border-color: var(--sp-win-border);
                background: linear-gradient(180deg, var(--sp-win-bg) 0%, #ffffff 85%);
            }

            .sp-page.sp-pick-page .sp-score-card.loss {
                border-color: var(--sp-loss-border);
                background: linear-gradient(180deg, var(--sp-loss-bg) 0%, #ffffff 85%);
            }

            .sp-page.sp-pick-page .sp-score-card.neutral {
                border-color: #cfdceb;
                background: linear-gradient(180deg, #f7fafd 0%, #ffffff 85%);
            }

            .sp-page.sp-pick-page .sp-score-card .sp-pill {
                font-size: calc(0.8rem + 1pt);
            }

            .sp-page.sp-pick-page .sp-score-card .sp-indicator-title {
                font-size: calc(0.74rem + 1pt);
            }

            .sp-page.sp-pick-page .sp-score-card .sp-stat-label {
                font-size: calc(0.72rem + 1pt);
            }

            .sp-page.sp-pick-page .sp-score-card .sp-stat-value {
                font-size: calc(1rem + 1pt);
            }

            .sp-page.sp-pick-page .sp-row-head {
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                gap: 0.75rem;
            }

            .sp-page.sp-pick-page .sp-song {
                font-size: 1.05rem;
                font-weight: 700;
                margin-top: 0.25rem;
                line-height: 1.25;
            }

            .sp-page.sp-pick-page .sp-subtotal {
                text-align: right;
                min-width: 95px;
            }

            .sp-page.sp-pick-page .sp-subtotal-label {
                font-size: 0.72rem;
                color: var(--sp-neutral-text);
                text-transform: uppercase;
                letter-spacing: 0.04em;
            }

            .sp-page.sp-pick-page .sp-subtotal-value {
                font-size: 1.45rem;
                font-weight: 800;
                line-height: 1.2;
            }

            .sp-page.sp-pick-page .sp-subtotal-value.win {
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-subtotal-value.loss {
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-subtotal-value.neutral {
                color: #5c7189;
            }

            .sp-page.sp-pick-page .sp-breakdown {
                margin-top: 0.6rem;
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.45rem;
            }

            .sp-page.sp-pick-page .sp-stat {
                border-radius: 0.7rem;
                background: var(--sp-soft);
                border: 1px solid #e4edf6;
                padding: 0.45rem 0.55rem;
            }

            .sp-page.sp-pick-page .sp-stat-label {
                font-size: 0.72rem;
                text-transform: uppercase;
                letter-spacing: 0.03em;
                color: var(--sp-neutral-text);
            }

            .sp-page.sp-pick-page .sp-stat-value {
                font-weight: 600;
                margin-top: 0.12rem;
            }

            .sp-page.sp-pick-page .sp-stat-value.win {
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-stat-value.loss {
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-stat-value.neutral {
                color: #5c7189;
            }

            .sp-page.sp-pick-page .sp-notes {
                margin-top: 0.6rem;
                border-radius: 0.65rem;
                border-left: 4px solid var(--sp-accent);
                background: #f2f9ff;
                padding: 0.5rem 0.65rem;
                font-size: 0.92rem;
            }

            .sp-page.sp-pick-page .sp-empty-note {
                color: var(--sp-neutral-text);
                font-size: 0.92rem;
            }

            .sp-page.sp-pick-page .sp-edit-picks {
                display: grid;
                gap: 0.8rem;
            }

            .sp-page.sp-pick-page .sp-quick-picks-card {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 1rem;
                border: 1px solid #e2b84b;
                border-radius: 0.95rem;
                background: linear-gradient(135deg, #fff8df 0%, #ffffff 68%, #eef8ff 100%);
                padding: 0.9rem;
            }

            .sp-page.sp-pick-page .sp-quick-picks-copy {
                min-width: 0;
            }

            .sp-page.sp-pick-page .sp-quick-picks-title {
                display: flex;
                align-items: center;
                gap: 0.45rem;
                color: #7a5000;
                font-size: 1.05rem;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-quick-picks-note,
            .sp-page.sp-pick-page .sp-quick-picks-warning {
                margin-top: 0.3rem;
                color: #58697b;
                font-size: 0.9rem;
                line-height: 1.4;
            }

            .sp-page.sp-pick-page .sp-quick-picks-warning {
                color: #8a3f16;
                font-weight: 700;
            }

            .sp-page.sp-pick-page .sp-quick-picks-button.ui-button {
                flex: 0 0 auto;
                border-color: #9a6700;
                background: linear-gradient(135deg, #c78900 0%, #8a5800 100%);
                color: #fff;
                font-weight: 800;
                white-space: nowrap;
            }

            .sp-page.sp-pick-page .sp-quick-picks-status {
                min-height: 1.2rem;
                margin: -0.45rem 0 0.55rem;
                color: #2d6d98;
                font-size: 0.86rem;
                font-weight: 700;
            }

            .sp-quick-picks-dialog.ui-dialog {
                width: min(560px, 94vw) !important;
            }

            .sp-quick-picks-dialog .sp-quick-picks-dialog-copy {
                color: #374b5e;
                line-height: 1.5;
            }

            .sp-quick-picks-dialog .ui-dialog-footer {
                display: block;
                width: 100%;
                box-sizing: border-box;
            }

            .sp-quick-picks-dialog .sp-quick-picks-action-group {
                display: flex;
                align-items: stretch;
                width: 100%;
                gap: 0;
            }

            .sp-quick-picks-dialog .sp-quick-picks-action-group .ui-button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: 1 1 0;
                width: 50% !important;
                max-width: none;
                min-height: 3.15rem;
                margin: 0;
                border-radius: 0;
                font-weight: 800;
            }

            .sp-quick-picks-dialog .sp-quick-picks-confirm-button.ui-button {
                border-radius: 0.75rem 0 0 0.75rem;
                border-color: #9a6700;
                background: linear-gradient(135deg, #c78900 0%, #8a5800 100%);
                color: #fff;
            }

            .sp-quick-picks-dialog .sp-quick-picks-cancel-button.ui-button {
                border-radius: 0 0.75rem 0.75rem 0;
            }

            .sp-pick-confirm-dialog.ui-dialog {
                width: min(560px, 94vw) !important;
            }

            .sp-pick-confirm-dialog .ui-dialog-footer,
            .sp-pick-confirm-dialog .ui-dialog-buttonpane {
                display: block;
                width: 100%;
                box-sizing: border-box;
            }

            .sp-pick-confirm-dialog .sp-pick-confirm-action-group {
                display: flex;
                align-items: stretch;
                width: 100%;
                gap: 0;
            }

            .sp-pick-confirm-dialog .sp-pick-confirm-action-group .ui-button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: 1 1 0;
                width: 50% !important;
                max-width: none;
                min-height: 3.15rem;
                margin: 0;
                box-sizing: border-box;
                border-width: 1px;
                border-radius: 0;
                font-weight: 800;
            }

            .sp-pick-confirm-dialog .sp-pick-confirm-action-group .ui-button:focus,
            .sp-pick-confirm-dialog .sp-pick-confirm-action-group .ui-button.ui-state-focus {
                outline: none !important;
                box-shadow: none !important;
            }

            .sp-pick-confirm-dialog .sp-pick-confirm-button.ui-button {
                border-radius: 0.75rem 0 0 0.75rem;
                border-color: #0a5b92;
                background: linear-gradient(135deg, #1479bb 0%, #07588d 100%);
                color: #fff;
            }

            .sp-pick-confirm-dialog .sp-pick-confirm-cancel-button.ui-button {
                border-radius: 0 0.75rem 0.75rem 0;
            }

            .sp-page.sp-pick-page .sp-edit-card {
                border: 1px solid #d8e4f0;
                border-radius: 0.95rem;
                background: #ffffff;
                padding: 0.8rem;
            }

            .sp-page.sp-pick-page .sp-edit-label {
                display: block;
                margin-bottom: 0.45rem;
                color: #2d6d98;
                font-size: 0.95rem;
                font-weight: 800;
                line-height: 1.25;
            }

            .sp-page.sp-pick-page .sp-edit-card .ui-autocomplete {
                width: min(32rem, 92%);
            }

            .sp-page.sp-pick-page .sp-edit-card .ui-autocomplete .ui-autocomplete-input {
                width: 100%;
            }

            .sp-page.sp-pick-page .sp-show-option-row {
                display: flex;
                align-items: center;
                gap: 0.55rem;
                width: 100%;
                min-width: 0;
            }

            .sp-page.sp-pick-page .sp-show-status-icon {
                width: 1.15rem;
                text-align: center;
                flex: 0 0 1.15rem;
                font-size: 0.95rem;
            }

            .sp-page.sp-pick-page .sp-show-status-icon.is-locked {
                color: #b42318;
            }

            .sp-page.sp-pick-page .sp-show-status-icon.is-picked {
                color: #4753d6;
            }

            .sp-page.sp-pick-page .sp-show-status-icon.is-available {
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-show-option-text {
                display: flex;
                align-items: baseline;
                gap: 0.45rem;
                min-width: 0;
                flex-wrap: wrap;
            }

            .sp-page.sp-pick-page .sp-show-option-label {
                min-width: 0;
            }

            .sp-page.sp-pick-page .sp-modifier-bar {
                margin-top: 0.65rem;
                border-top: 1px dashed #cfddeb;
                padding-top: 0.5rem;
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                gap: 0.75rem;
            }

            .sp-page.sp-pick-page .sp-submit-row {
                position: sticky;
                bottom: 0.6rem;
                z-index: 3;
                padding-top: 0.4rem;
            }

            .sp-page.sp-pick-page .sp-submit-btn {
                width: 100%;
            }

            .sp-page.sp-pick-page .sp-edit-action-group {
                display: flex;
                align-items: stretch;
                width: 100%;
            }

            .sp-page.sp-pick-page .sp-edit-action-group .ui-button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 50%;
                min-height: 3.15rem;
                margin: 0;
                border-radius: 0;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-edit-action-primary.ui-button {
                border-radius: 0.75rem 0 0 0.75rem;
                border-color: #0a5b92;
                background: linear-gradient(135deg, #1479bb 0%, #07588d 100%);
                color: #fff;
            }

            .sp-page.sp-pick-page .sp-edit-action-primary.ui-button:hover {
                border-color: #064d7d;
                background: linear-gradient(135deg, #0f6da9 0%, #064d7d 100%);
            }

            .sp-page.sp-pick-page .sp-edit-action-cancel.ui-button {
                margin-left: -1px;
                border-radius: 0 0.75rem 0.75rem 0;
                border-color: #aebdca;
                background: linear-gradient(180deg, #ffffff 0%, #f2f5f8 100%);
                color: #425466;
            }

            .sp-page.sp-pick-page .sp-edit-action-cancel.ui-button:hover {
                border-color: #899bab;
                background: #e9eef2;
                color: #263746;
            }

            .sp-page.sp-pick-page .sp-edit-action-group .ui-button:focus-visible {
                position: relative;
                z-index: 1;
                outline: 3px solid rgba(20, 121, 187, 0.28);
                outline-offset: 2px;
            }

            .sp-page.sp-pick-page .sp-edit-entry-banner {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 1rem;
                margin: 0 0 1.1rem;
                padding: 0.85rem;
                border: 1px solid #efbd70;
                border-radius: 0.9rem;
                background: linear-gradient(135deg, #fff8e8 0%, #fffdf7 100%);
                box-shadow: 0 3px 10px rgba(139, 86, 18, 0.12);
            }

            .sp-page.sp-pick-page .sp-edit-entry-banner-message {
                display: flex;
                align-items: center;
                gap: 0.7rem;
                min-width: 0;
            }

            .sp-page.sp-pick-page .sp-edit-entry-banner-icon {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 2.5rem;
                height: 2.5rem;
                flex: 0 0 2.5rem;
                border-radius: 50%;
                background: linear-gradient(135deg, #e8891b 0%, #c96b08 100%);
                color: #fff;
                box-shadow: 0 2px 5px rgba(154, 78, 4, 0.24);
            }

            .sp-page.sp-pick-page .sp-edit-entry-banner-copy {
                display: flex;
                min-width: 0;
                flex-direction: column;
                gap: 0.15rem;
            }

            .sp-page.sp-pick-page .sp-edit-entry-banner-title {
                color: #6e3c06;
                font-size: 1.02rem;
                font-weight: 800;
                line-height: 1.2;
            }

            .sp-page.sp-pick-page .sp-edit-entry-banner-note {
                color: #765a38;
                font-size: 0.82rem;
                font-weight: 600;
                line-height: 1.3;
            }

            .sp-page.sp-pick-page .sp-edit-entry-button.ui-button {
                min-width: 10.5rem;
                min-height: 3rem;
                flex: 0 0 auto;
                border: 1px solid #0a5b92;
                border-radius: 0.7rem;
                background: linear-gradient(135deg, #1479bb 0%, #07588d 100%);
                color: #fff;
                font-weight: 800;
                box-shadow: 0 3px 7px rgba(7, 88, 141, 0.25);
            }

            .sp-page.sp-pick-page .sp-edit-entry-button.ui-button:hover {
                border-color: #064d7d;
                background: linear-gradient(135deg, #0f6da9 0%, #064d7d 100%);
                box-shadow: 0 4px 9px rgba(7, 88, 141, 0.32);
            }

            .sp-page.sp-pick-page .sp-edit-entry-button.ui-button:focus-visible {
                outline: 3px solid rgba(20, 121, 187, 0.3);
                outline-offset: 2px;
            }

            .sp-page.sp-pick-page .sp-rules-row {
                margin-top: -0.4rem;
                margin-bottom: 1rem;
                display: flex;
                justify-content: flex-end;
            }

            .sp-page.sp-pick-page .sp-actions-row {
                justify-content: space-between;
                align-items: center;
                gap: 0.75rem;
                flex-wrap: nowrap;
            }

            .sp-page.sp-pick-page .sp-actions-row > * {
                min-width: 0;
            }

            .sp-page.sp-pick-page .sp-actions-row .sp-rules-pill {
                white-space: nowrap;
            }

            .sp-page.sp-pick-page .sp-view-toggle-row {
                display: inline-flex;
                align-items: center;
                gap: 0.35rem;
                margin: -0.2rem 0 0.9rem auto;
                padding: 0.2rem;
                border-radius: 999px;
                border: 1px solid #c8ddf0;
                background: #f2f9ff;
            }

            .sp-page.sp-pick-page .sp-view-toggle {
                appearance: none;
                border: 0;
                border-radius: 999px;
                padding: 0.42rem 0.85rem;
                background: transparent;
                color: #1f5e99;
                font-size: 0.82rem;
                font-weight: 700;
                line-height: 1.1;
                cursor: pointer;
                white-space: nowrap;
                transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
            }

            .sp-page.sp-pick-page .sp-view-toggle.is-active {
                background: linear-gradient(140deg, #0a6ca8 0%, #0f82c6 100%);
                color: #ffffff;
                box-shadow: 0 4px 10px rgba(15, 130, 198, 0.28);
            }

            .sp-page.sp-pick-page .sp-view-toggle:focus-visible {
                outline: 2px solid #5eb4ea;
                outline-offset: 1px;
            }

            .sp-page.sp-pick-page .sp-view-pane.sp-view-pane-contracted {
                display: none;
            }

            .sp-page.sp-pick-page.sp-view-contracted-mode .sp-view-pane.sp-view-pane-expanded {
                display: none;
            }

            .sp-page.sp-pick-page.sp-view-contracted-mode .sp-view-pane.sp-view-pane-contracted {
                display: block;
            }

            .sp-page.sp-pick-page.sp-view-contracted-mode .sp-panel .ui-panel-titlebar {
                display: none;
            }

            .sp-page.sp-pick-page .sp-contract-card {
                border: 1px solid #c7dff2;
                border-radius: 1.15rem;
                background: linear-gradient(145deg, #f0f9ff 0%, #ffffff 34%, #f7fff9 100%);
                padding: 0.8rem;
                display: grid;
                gap: 0.55rem;
                box-shadow: 0 10px 26px rgba(15, 77, 122, 0.08);
            }

            .sp-page.sp-pick-page .sp-contract-topline {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.55rem;
            }

            .sp-page.sp-pick-page .sp-contract-kicker {
                font-size: 0.66rem;
                text-transform: uppercase;
                letter-spacing: 0.07em;
                color: #2f6f9f;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-contract-user {
                font-size: 0.82rem;
                font-weight: 700;
                line-height: 1.2;
                color: #184d73;
                margin-top: 0.08rem;
            }

            .sp-page.sp-pick-page .sp-contract-show {
                font-size: 0.9rem;
                font-weight: 700;
                line-height: 1.2;
                color: #123a56;
            }

            .sp-page.sp-pick-page .sp-contract-score-grid {
                display: grid;
                grid-template-columns: 1.05fr 1fr;
                gap: 0.5rem;
            }

            .sp-page.sp-pick-page .sp-contract-score-card,
            .sp-page.sp-pick-page .sp-contract-exotic-card {
                border: 1px solid #d7e8f5;
                border-radius: 0.85rem;
                background: rgba(255, 255, 255, 0.92);
                padding: 0.48rem 0.6rem;
            }

            .sp-page.sp-pick-page .sp-contract-label {
                font-size: 0.62rem;
                text-transform: uppercase;
                letter-spacing: 0.06em;
                color: #5c7189;
                font-weight: 700;
            }

            .sp-page.sp-pick-page .sp-contract-total {
                margin-top: 0.1rem;
                font-size: 1.9rem;
                line-height: 1;
                color: #1f7a49;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-contract-exotic-name {
                margin-top: 0.12rem;
                font-size: 0.84rem;
                color: #0d4f7d;
                font-weight: 700;
                line-height: 1.15;
            }

            .sp-page.sp-pick-page .sp-contract-exotic-points {
                margin-top: 0.08rem;
                font-size: 1.05rem;
                line-height: 1.1;
                color: #1f7a49;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-contract-subnote {
                border-radius: 0.65rem;
                border: 1px solid #f0d8a5;
                background: #fff9ee;
                color: #8f6414;
                font-size: 0.78rem;
                padding: 0.42rem 0.5rem;
                line-height: 1.2;
            }

            .sp-page.sp-pick-page .sp-contract-muted {
                margin-top: 0.2rem;
                color: #5c7189;
                font-size: 0.83rem;
                font-weight: 600;
            }

            .sp-page.sp-pick-page .sp-contract-picks {
                display: grid;
                gap: 0.36rem;
            }

            .sp-page.sp-pick-page .sp-contract-pick {
                border-radius: 0.8rem;
                border: 1px solid #d7e6f2;
                background: #ffffff;
                padding: 0.35rem 0.52rem;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.48rem;
            }

            .sp-page.sp-pick-page .sp-contract-pick.win {
                border-color: #9ad8b6;
                background: #f2fdf6;
            }

            .sp-page.sp-pick-page .sp-contract-pick.loss {
                border-color: #efb0b0;
                background: #fff6f6;
            }

            .sp-page.sp-pick-page .sp-contract-pick.neutral {
                border-color: #d7e6f2;
                background: #f9fcff;
            }

            .sp-page.sp-pick-page .sp-contract-pick-main {
                display: flex;
                align-items: center;
                min-width: 0;
                gap: 0.45rem;
                flex: 1 1 auto;
            }

            .sp-page.sp-pick-page .sp-contract-pick-main-wrap {
                min-width: 0;
                flex: 1 1 auto;
                display: grid;
                gap: 0.22rem;
            }

            .sp-page.sp-pick-page .sp-contract-pick-num {
                width: 1.2rem;
                height: 1.2rem;
                border-radius: 999px;
                border: 1px solid #9bc8e7;
                background: #e7f4ff;
                color: #155f93;
                font-size: 0.72rem;
                font-weight: 800;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: 0 0 1.2rem;
            }

            .sp-page.sp-pick-page .sp-contract-pick-song {
                font-size: 0.86rem;
                line-height: 1.15;
                font-weight: 700;
                color: #173f5b;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                min-width: 0;
            }

            .sp-page.sp-pick-page .sp-contract-pick-meta {
                display: flex;
                align-items: center;
                gap: 0.24rem;
                flex-wrap: wrap;
                padding-left: 1.66rem;
                min-height: 0.78rem;
            }

            .sp-page.sp-pick-page .sp-contract-meta-pill {
                border-radius: 999px;
                border: 1px solid #d4e3ef;
                background: #f8fbff;
                color: #42607a;
                padding: 0.08rem 0.38rem;
                font-size: 0.62rem;
                font-weight: 700;
                line-height: 1.1;
                letter-spacing: 0.02em;
            }

            .sp-page.sp-pick-page .sp-contract-meta-pill.selected {
                border-color: #9ad8b6;
                background: #effdf4;
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-contract-pick-side {
                display: inline-flex;
                align-items: center;
                gap: 0.35rem;
                flex: 0 0 auto;
            }

            .sp-page.sp-pick-page .sp-contract-mini-pill {
                border-radius: 999px;
                border: 1px solid #d6e2ef;
                background: #f7fbff;
                color: #37526d;
                padding: 0.12rem 0.45rem;
                font-size: 0.66rem;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.04em;
                line-height: 1.15;
            }

            .sp-page.sp-pick-page .sp-contract-mini-pill.match {
                border-color: #9ad8b6;
                background: #effdf4;
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-contract-mini-pill.miss {
                border-color: #efb0b0;
                background: #fff3f3;
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-contract-mini-pill.na {
                border-color: #cbd8e6;
                background: #f5f8fc;
                color: #5c7189;
            }

            .sp-page.sp-pick-page .sp-contract-pick-score {
                min-width: 2.8rem;
                text-align: right;
                font-size: 0.95rem;
                line-height: 1;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-contract-pick-score.win {
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-contract-pick-score.loss {
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-contract-pick-score.neutral {
                color: #5c7189;
            }

            .sp-page.sp-pick-page .sp-rules-pill {
                display: inline-flex;
                align-items: center;
                border-radius: 999px;
                padding: 0.4rem 0.9rem;
                border: 1px solid #9ecdf1;
                background: linear-gradient(140deg, #edf8ff 0%, #f8fcff 100%);
                color: #0d67a5;
                font-weight: 700;
                text-decoration: none;
                transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
            }

            .sp-page.sp-pick-page .sp-rules-pill:hover {
                background: #e1f2ff;
                border-color: #77b8e5;
                color: #084b77;
            }

            .sp-page.sp-pick-page .sp-rules-pill:focus-visible {
                outline: 2px solid #7dbff0;
                outline-offset: 2px;
            }

            .sp-page.sp-pick-page .sp-rules-content {
                display: grid;
                gap: 0.85rem;
                max-height: 65vh;
                overflow: auto;
                padding-right: 0.25rem;
            }

            .sp-page.sp-pick-page .sp-rules-block {
                border: 1px solid #dbe7f3;
                border-radius: 0.8rem;
                background: #fbfdff;
                padding: 0.75rem 0.8rem;
            }

            .sp-page.sp-pick-page .sp-rules-title {
                font-size: 1rem;
                font-weight: 700;
                color: #153e75;
                margin-bottom: 0.4rem;
            }

            .sp-page.sp-pick-page .sp-rules-list {
                margin: 0;
                padding-left: 1rem;
                display: grid;
                gap: 0.3rem;
            }

            .sp-page.sp-pick-page .sp-rules-notes {
                margin-top: 0.65rem;
            }

            .sp-page.sp-pick-page .sp-rules-score-grid {
                display: grid;
                gap: 0.45rem;
            }

            .sp-page.sp-pick-page .sp-rules-gap-tier-grid {
                margin-top: 0.65rem;
                margin-bottom: 0.65rem;
            }

            .sp-page.sp-pick-page .sp-rules-score-row {
                border: 1px solid #d9e5f2;
                border-radius: 0.75rem;
                background: #ffffff;
                padding: 0.55rem 0.65rem;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.6rem;
            }

            .sp-page.sp-pick-page .sp-rules-score-label {
                font-size: 0.92rem;
                color: #334e68;
                line-height: 1.3;
            }

            .sp-page.sp-pick-page .sp-rules-score-points {
                min-width: 3.1rem;
                text-align: right;
                font-size: 1.1rem;
                font-weight: 800;
            }

            .sp-page.sp-pick-page .sp-rules-score-points.win {
                color: #1f7a49;
            }

            .sp-page.sp-pick-page .sp-rules-score-points.loss {
                color: #b72222;
            }

            .sp-page.sp-pick-page .sp-rules-score-points.neutral {
                color: #2b6cb0;
            }

            .sp-page.sp-pick-page .sp-rules-dialog.ui-dialog {
                width: min(760px, 94vw) !important;
            }

            .sp-page.sp-pick-page .sp-rules-dialog .ui-dialog-content {
                max-height: 72vh;
                overflow: auto;
            }

            @media (min-width: 768px) {
                .sp-page.sp-pick-page .sp-panel .ui-panel-content {
                    padding: 1.15rem;
                }

                .sp-page.sp-pick-page .sp-exotic-grid {
                    gap: 0.7rem;
                }

                .sp-page.sp-pick-page .sp-score-list {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }

                .sp-page.sp-pick-page .sp-edit-picks {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }

                .sp-page.sp-pick-page .sp-submit-btn {
                    width: auto;
                    min-width: 240px;
                }
            }

            @media (max-width: 767px) {
                .sp-page.sp-pick-page .sp-quick-picks-card {
                    align-items: stretch;
                    flex-direction: column;
                }

                .sp-page.sp-pick-page .sp-quick-picks-button.ui-button {
                    width: 100%;
                    min-height: 3rem;
                }

                .sp-page.sp-pick-page .sp-edit-entry-banner {
                    align-items: stretch;
                    flex-direction: column;
                    gap: 0.75rem;
                    padding: 0.8rem;
                }

                .sp-page.sp-pick-page .sp-edit-entry-button.ui-button {
                    width: 100%;
                    min-height: 3.25rem;
                }

                .sp-page.sp-pick-page .sp-actions-row {
                    gap: 0.4rem;
                }

                .sp-page.sp-pick-page .sp-actions-row .sp-rules-pill {
                    padding: 0.35rem 0.7rem;
                    font-size: 0.85rem;
                }

                .sp-page.sp-pick-page .sp-view-toggle-row {
                    width: 100%;
                    margin-right: 0;
                    justify-content: center;
                }

                .sp-page.sp-pick-page .sp-view-toggle {
                    flex: 1 1 0;
                    text-align: center;
                }

                .sp-page.sp-pick-page.sp-view-contracted-mode .sp-panel .ui-panel-content {
                    padding: 0.7rem;
                }

                .sp-page.sp-pick-page .sp-contract-score-grid {
                    grid-template-columns: 1fr 1fr;
                    gap: 0.4rem;
                }

                .sp-page.sp-pick-page .sp-contract-total {
                    font-size: 1.72rem;
                }

                .sp-page.sp-pick-page .sp-contract-pick {
                    padding: 0.33rem 0.45rem;
                }

                .sp-page.sp-pick-page .sp-contract-pick-song {
                    font-size: 0.8rem;
                }

                .sp-page.sp-pick-page .sp-contract-pick-meta {
                    padding-left: 1.5rem;
                }

                .sp-page.sp-pick-page .sp-contract-meta-pill {
                    font-size: 0.6rem;
                }

                .sp-page.sp-pick-page .sp-contract-pick-score {
                    min-width: 2.55rem;
                    font-size: 0.86rem;
                }

                .sp-page.sp-pick-page .sp-exotic-grid {
                    grid-template-columns: 1fr;
                }

                .sp-page.sp-pick-page .sp-breakdown {
                    grid-template-columns: 1fr;
                }

                .sp-page.sp-pick-page .sp-row-head {
                    flex-direction: column;
                }

                .sp-page.sp-pick-page .sp-subtotal {
                    text-align: left;
                }
            }

            @media (max-width: 430px) {
                .sp-page.sp-pick-page .sp-edit-card .ui-autocomplete {
                    width: 100%;
                }
            }


/* Show Picks list page styles moved from db-show-picks.xhtml */
            .sp-page.sp-picks-page .sp-header-image-wrap {
                padding: 0 10%;
                margin: 0 0 1rem 0;
            }

            .sp-page.sp-picks-page .sp-header-image {
                display: block;
                width: 100%;
                max-width: 400px;
                height: auto;
                margin: 0 auto;
            }

            .sp-page.sp-picks-page .sp-panel {
                border-radius: 1.1rem;
                overflow: hidden;
            }

            .sp-page.sp-picks-page .sp-panel .ui-panel-content {
                padding: 1rem;
            }

            .sp-page.sp-picks-page .sp-user-score-grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.75rem;
                margin-top: 0.9rem;
            }

            .sp-page.sp-picks-page .sp-user-score-heading {
                margin-top: 0.2rem;
                margin-bottom: 0.35rem;
                border-radius: 0.65rem;
                border-left: 4px solid #009ce2;
                background: #f2f9ff;
                padding: 0.5rem 0.65rem;
            }

            .sp-page.sp-picks-page .sp-user-score-heading.sp-show-picker-major-heading {
                margin-top: 1rem;
            }

            .sp-page.sp-picks-page .sp-user-score-heading.sp-your-picks-major-heading {
                margin-top: 1rem;
            }

            .sp-page.sp-picks-page .sp-user-score-heading-user {
                font-size: clamp(1.5rem, 4.6vw, 2.25rem);
                color: #0d67a5;
                font-weight: 800;
                line-height: 1.1;
                word-break: break-word;
            }

            .sp-page.sp-picks-page .sp-section-heading {
                margin-top: 0.3rem;
                margin-bottom: 0.35rem;
                border-radius: 0.6rem;
                border-left: 4px solid #38a3e3;
                background: #f3f9ff;
                padding: 0.4rem 0.6rem;
            }

            .sp-page.sp-picks-page .sp-section-heading-title {
                font-size: clamp(1.2rem, 3.4vw, 1.55rem);
                color: #0d67a5;
                font-weight: 800;
                line-height: 1.15;
                word-break: break-word;
            }

            .sp-page.sp-picks-page .sp-show-picker-section {
                position: relative;
                margin: 0.5rem 0 1.6rem;
                padding: 0.9rem 0.95rem 0.62rem;
                border: 1px solid #8fc2e3;
                border-top: 3px solid #0d67a5;
                border-left: 7px solid #0d67a5;
                border-radius: 1.05rem;
                background: linear-gradient(166deg, #dff1ff 0%, #eef8ff 34%, #ffffff 100%);
                box-shadow: 0 10px 24px rgba(13, 103, 165, 0.14);
            }

            .sp-page.sp-picks-page .sp-show-picker-section .sp-show-picker-panel {
                margin-bottom: 0 !important;
            }

            .sp-page.sp-picks-page .sp-show-picker-section .sp-show-picker-panel .ui-panel-content {
                padding-bottom: 1.35rem;
            }

            .sp-page.sp-picks-page .sp-show-picker-section .sp-panel {
                border: 1px solid #b6d6eb;
                box-shadow: 0 3px 10px rgba(13, 103, 165, 0.08);
            }

            .sp-page.sp-picks-page .sp-section-heading.sp-section-heading-emphasis {
                margin-top: 0;
                margin-bottom: 0.72rem;
                border-left-color: #0d67a5;
                background: linear-gradient(145deg, rgba(255, 255, 255, 0.94) 0%, rgba(240, 249, 255, 0.96) 100%);
                box-shadow: inset 0 0 0 1px #cce4f6;
            }

            .sp-page.sp-picks-page .sp-section-heading-desc {
                display: block;
                margin-top: 0.18rem;
                color: #0d67a5;
                font-size: 0.82rem;
                font-weight: 700;
                line-height: 1.35;
                letter-spacing: 0.01em;
            }

            .sp-page.sp-picks-page .sp-section-heading.sp-subsection-heading {
                margin-top: 0.15rem;
                margin-bottom: 0.25rem;
                border-left: 0;
                border-radius: 0;
                background: transparent;
                padding: 0.12rem 0.1rem;
            }

            .sp-page.sp-picks-page .sp-section-heading.sp-subsection-heading .sp-section-heading-title {
                font-size: clamp(0.95rem, 2.4vw, 1.08rem);
                line-height: 1.2;
                color: #0b5a90;
            }

            .sp-page.sp-picks-page .sp-section-heading.sp-subsection-heading .sp-section-heading-desc {
                margin-top: 0.1rem;
                font-size: 0.74rem;
                font-weight: 600;
                color: #2f6088;
            }

            .sp-page.sp-picks-page .sp-section-step {
                display: inline-flex;
                align-items: center;
                width: fit-content;
                margin-bottom: 0.22rem;
                border-radius: 999px;
                padding: 0.12rem 0.5rem;
                font-size: 0.7rem;
                font-weight: 800;
                letter-spacing: 0.04em;
                text-transform: uppercase;
                color: #0a4f7e;
                background: #d7ecfb;
                border: 1px solid #9ccdf0;
            }

            .sp-page.sp-picks-page .sp-show-picker-section .sp-search-label {
                color: #0d67a5;
                letter-spacing: 0.01em;
            }

            .sp-page.sp-picks-page .sp-show-picker-section #mainForm\:selectShowBtn.ui-button {
                border-color: #0d67a5;
                background: linear-gradient(145deg, #0d67a5 0%, #1382cb 100%);
                color: #ffffff;
                font-weight: 700;
                box-shadow: 0 4px 10px rgba(13, 103, 165, 0.2);
            }

            .sp-page.sp-picks-page .sp-show-picker-section .sp-show-picker-primary-btn.ui-button {
                border-color: #0d67a5;
                background: linear-gradient(145deg, #0d67a5 0%, #1382cb 100%);
                color: #ffffff;
                font-weight: 700;
                box-shadow: 0 4px 10px rgba(13, 103, 165, 0.2);
            }

            .sp-page.sp-picks-page .sp-show-picker-section #mainForm\:selectShowBtn.ui-button:hover {
                background: linear-gradient(145deg, #0b5a90 0%, #106fae 100%);
                border-color: #0b5a90;
            }

            .sp-page.sp-picks-page .sp-show-picker-section .sp-show-picker-primary-btn.ui-button:hover {
                background: linear-gradient(145deg, #0b5a90 0%, #106fae 100%);
                border-color: #0b5a90;
            }

            .sp-page.sp-picks-page .sp-show-picker-section + .sp-section-heading {
                margin-top: 1rem;
            }

            .sp-page.sp-picks-page .sp-next-shows-section {
                margin: 0 0 1rem;
            }

            .sp-page.sp-picks-page .sp-next-shows-section .sp-panel {
                border: 1px solid #cde2f1;
                box-shadow: 0 3px 10px rgba(13, 103, 165, 0.08);
            }

            .sp-page.sp-picks-page .sp-next-show-row {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.65rem;
                border: 1px solid #9ecdf1;
                border-radius: 0.35rem;
                background: linear-gradient(140deg, #edf8ff 0%, #f8fcff 100%);
                padding: 0.4rem 0.9rem;
            }

            .sp-page.sp-picks-page .sp-next-show-btn {
                display: block;
                text-decoration: none;
                border-radius: 0.35rem;
            }

            .sp-page.sp-picks-page .sp-next-show-btn:hover {
                text-decoration: none;
            }

            .sp-page.sp-picks-page .sp-next-show-btn:hover .sp-next-show-row {
                background: #e1f2ff;
                border-color: #77b8e5;
                box-shadow: none;
            }

            .sp-page.sp-picks-page .sp-next-show-btn.is-active .sp-next-show-row,
            .sp-page.sp-picks-page .sp-next-show-btn.is-active:hover .sp-next-show-row {
                background: linear-gradient(140deg, #e1f2ff 0%, #f1f9ff 100%);
                border-color: #2f8ecf;
                box-shadow: 0 0 0 1px rgba(47, 142, 207, 0.24);
            }

            .sp-page.sp-picks-page .sp-next-show-btn.is-disabled {
                cursor: default;
            }

            .sp-page.sp-picks-page .sp-next-show-btn.is-disabled .sp-next-show-row,
            .sp-page.sp-picks-page .sp-next-show-btn.is-disabled:hover .sp-next-show-row {
                background: linear-gradient(160deg, #f7fbff 0%, #ffffff 100%);
                border-color: #cfddec;
                box-shadow: none;
            }

            .sp-page.sp-picks-page .sp-next-show-btn + .sp-next-show-btn {
                margin-top: 0.55rem;
            }

            .sp-page.sp-picks-page .sp-next-show-btn:focus-visible {
                outline: 2px solid #7dbff0;
                outline-offset: 2px;
            }

            .sp-page.sp-picks-page .sp-next-show-label {
                color: #163e63;
                font-size: 0.95rem;
                line-height: 1.35;
                font-weight: 700;
                overflow-wrap: anywhere;
            }

            .sp-page.sp-picks-page .sp-next-show-meta {
                display: inline-flex;
                align-items: center;
                gap: 0.35rem;
                flex: 0 0 auto;
            }

            .sp-page.sp-picks-page .sp-next-show-countdown {
                border-radius: 999px;
                padding: 0.2rem 0.6rem;
                border: 1px solid #bcdaf2;
                background: #eaf5ff;
                color: #0d67a5;
                font-weight: 800;
                font-size: 0.82rem;
                white-space: nowrap;
            }

            .sp-page.sp-picks-page .sp-next-show-locked {
                border-radius: 999px;
                padding: 0.2rem 0.6rem;
                border: 1px solid #bfe0c8;
                background: #effaf2;
                color: #1f7a49;
                font-weight: 800;
                font-size: 0.82rem;
                white-space: nowrap;
            }

            .sp-page.sp-picks-page .sp-next-show-expired {
                border-radius: 999px;
                padding: 0.2rem 0.6rem;
                border: 1px solid #f0b4b4;
                background: #fff1f1;
                color: #b42318;
                font-weight: 800;
                font-size: 0.82rem;
                white-space: nowrap;
            }

            .sp-page.sp-picks-page .sp-next-show-empty {
                color: #4b5f73;
                font-size: 0.92rem;
                font-weight: 600;
            }

            .sp-page.sp-picks-page .sp-user-score-hero {
                border: 1px solid #cfe9db;
                border-radius: 1.1rem;
                background: linear-gradient(140deg, #ecfdf3 0%, #ffffff 58%, #f2fff8 100%);
                padding: 1rem;
                position: relative;
                overflow: hidden;
            }

            .sp-page.sp-picks-page .sp-user-score-hero.average {
                border-color: #c8ddf0;
                background: linear-gradient(132deg, #e9f6ff 0%, #ffffff 52%, #f4fbff 100%);
            }

            .sp-page.sp-picks-page .sp-user-score-label {
                font-size: 0.76rem;
                letter-spacing: 0.04em;
                text-transform: uppercase;
                color: #5c7189;
                font-weight: 700;
            }

            .sp-page.sp-picks-page .sp-user-score-value {
                font-size: clamp(2.2rem, 8vw, 3.5rem);
                line-height: 1;
                color: #1f7a49;
                font-weight: 800;
                margin-top: 0.35rem;
                text-shadow: 0 3px 10px rgba(31, 122, 73, 0.08);
            }

            .sp-page.sp-picks-page .sp-user-score-hero.average .sp-user-score-value {
                color: #145d91;
                text-shadow: 0 3px 10px rgba(20, 93, 145, 0.08);
            }

            .sp-page.sp-picks-page .sp-user-score-stats {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 0.65rem;
                margin-top: 0.75rem;
            }

            .sp-page.sp-picks-page .sp-user-score-stat {
                border: 1px solid #d8e8f6;
                border-radius: 0.9rem;
                background: #fbfdff;
                padding: 0.65rem 0.75rem;
            }

            .sp-page.sp-picks-page .sp-user-score-stat-label {
                font-size: 0.76rem;
                letter-spacing: 0.02em;
                text-transform: uppercase;
                color: #5c7189;
                font-weight: 700;
            }

            .sp-page.sp-picks-page .sp-user-score-stat-value {
                font-size: 1.5rem;
                line-height: 1.2;
                color: #153e75;
                font-weight: 800;
                margin-top: 0.2rem;
            }

            .sp-page.sp-picks-page .sp-selected-show-label {
                margin-top: 0.5rem;
                color: #4b5f73;
                font-size: 0.92rem;
                line-height: 1.35;
                white-space: normal;
                word-break: break-word;
            }

            .sp-page.sp-picks-page .sp-show-status-icon {
                width: 1.15rem;
                text-align: center;
                flex: 0 0 1.15rem;
                font-size: 0.95rem;
            }

            .sp-page.sp-picks-page .sp-show-status-icon.is-locked {
                color: #b42318;
            }

            .sp-page.sp-picks-page .sp-show-status-icon.is-picked {
                color: #4753d6;
            }

            .sp-page.sp-picks-page .sp-show-status-icon.is-available {
                color: #1f7a49;
            }

            .sp-page.sp-picks-page .sp-show-link {
                display: block;
                border: 1px solid #d8e8f6;
                border-radius: 0.85rem;
                padding: 0.42rem 0.56rem;
                background: linear-gradient(180deg, #fbfdff 0%, #f5faff 100%);
                color: #16324a;
                text-decoration: none;
                transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
            }

            .sp-page.sp-picks-page .sp-show-link:hover {
                text-decoration: none;
                border-color: #9ecdf1;
                background: #eef7ff;
                box-shadow: 0 1px 6px rgba(13, 103, 165, 0.12);
            }

            .sp-page.sp-picks-page .sp-show-link:focus-visible {
                outline: 2px solid #7dbff0;
                outline-offset: 2px;
            }

            .sp-page.sp-picks-page .sp-show-line {
                display: block;
                min-width: 0;
            }

            .sp-page.sp-picks-page .sp-show-line-top {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.5rem;
                margin-bottom: 0.12rem;
            }

            .sp-page.sp-picks-page .sp-show-date {
                font-size: 0.9rem;
                font-weight: 700;
                letter-spacing: 0.01em;
                color: #2b6cb0;
            }

            .sp-page.sp-picks-page .sp-show-location {
                font-size: 1.02rem;
                line-height: 1.3;
                font-weight: 700;
                color: #153e75;
            }

            .sp-page.sp-picks-page .sp-show-venue {
                margin-top: 0.04rem;
                font-size: 0.93rem;
                line-height: 1.35;
                color: #4b5f73;
            }

            .sp-page.sp-picks-page .sp-show-score {
                margin-left: 0;
                font-weight: 700;
                border-radius: 999px;
                border: 1px solid #bfe0c8;
                background: #effaf2;
                font-size: 0.82rem;
                padding: 0.1rem 0.45rem;
                white-space: nowrap;
            }

            .sp-page.sp-picks-page .sp-show-score.win {
                color: #1f7a49;
            }

            .sp-page.sp-picks-page .sp-show-score.loss {
                border-color: #efbcbc;
                background: #fff3f3;
                color: #b72222;
            }

            .sp-page.sp-picks-page .sp-show-score.pending {
                border-color: #cbd8e6;
                background: #f5f8fc;
                color: #5c7189;
                min-width: 1.9rem;
                text-align: center;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .sp-page.sp-picks-page .sp-show-card-meta {
                display: inline-flex;
                align-items: center;
                justify-content: flex-end;
                gap: 0.35rem;
                flex-shrink: 0;
            }

            .sp-page.sp-picks-page .sp-show-entry-status-badge {
                display: inline-flex;
                align-items: center;
                border-radius: 999px;
                font-size: 0.75rem;
                font-weight: 700;
                line-height: 1;
                padding: 0.22rem 0.42rem;
                white-space: nowrap;
            }

            .sp-page.sp-picks-page .sp-show-editable-badge {
                border: 1px solid #9bc9aa;
                background: #effaf2;
                color: #1f7a49;
            }

            .sp-page.sp-picks-page .sp-show-locked-pending-badge {
                border: 1px solid #cbd8e6;
                background: #f5f8fc;
                color: #5c7189;
            }

            .sp-page.sp-picks-page .sp-submitted-picks-table .ui-datatable-data > tr > td {
                padding: 0.3rem 0.45rem;
                overflow-wrap: anywhere;
            }

            .sp-page.sp-picks-page .sp-submitted-picks-table .ui-datatable-tablewrapper table {
                width: 100%;
                table-layout: fixed;
            }

            .sp-page.sp-picks-page .sp-submitted-picks-toolbar {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                gap: 0.55rem;
                margin-bottom: 0.7rem;
                flex-wrap: wrap;
            }

            .sp-page.sp-picks-page .sp-submitted-picks-sort-label {
                font-size: 0.82rem;
                font-weight: 700;
                color: #4b5f73;
            }

            .sp-page.sp-picks-page .sp-submitted-picks-sort {
                min-width: 19rem;
            }

            .sp-page.sp-picks-page .sp-submitted-picks-loading {
                display: inline-flex;
                align-items: center;
                gap: 0.45rem;
                font-weight: 700;
                color: #2f4e68;
                background: rgba(255, 255, 255, 0.9);
                border: 1px solid #d8e8f6;
                border-radius: 999px;
                padding: 0.35rem 0.75rem;
            }

            .sp-page.sp-picks-page .sp-search-label {
                font-weight: 700;
            }

            .sp-page.sp-picks-page .sp-show-search-row {
                display: flex;
                align-items: stretch;
                gap: 0.4rem;
            }

            .sp-page.sp-picks-page .sp-show-search-row .ui-autocomplete {
                flex: 1 1 auto;
                min-width: 0;
            }

            .sp-page.sp-picks-page .sp-clear-show-btn.ui-button {
                width: 2.2rem;
                min-width: 2.2rem;
                padding: 0;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .sp-page.sp-picks-page .sp-rules-row {
                margin-top: 0.9rem;
                margin-bottom: 1rem;
                display: flex;
                justify-content: flex-end;
            }

            .sp-page.sp-picks-page .sp-rules-pill {
                display: inline-flex;
                align-items: center;
                border-radius: 999px;
                padding: 0.4rem 0.9rem;
                border: 1px solid #9ecdf1;
                background: linear-gradient(140deg, #edf8ff 0%, #f8fcff 100%);
                color: #0d67a5;
                font-weight: 700;
                text-decoration: none;
                transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
            }

            .sp-page.sp-picks-page .sp-rules-pill:hover {
                background: #e1f2ff;
                border-color: #77b8e5;
                color: #084b77;
            }

            .sp-page.sp-picks-page .sp-rules-pill:focus-visible {
                outline: 2px solid #7dbff0;
                outline-offset: 2px;
            }

            .sp-page.sp-picks-page .sp-scorecard-filter-presets {
                display: flex;
                flex-wrap: wrap;
                gap: 0.5rem;
                padding-top: 0.5rem;
                margin-bottom: 0.2rem;
            }

            .sp-page.sp-picks-page .sp-scorecard-filter-pill.is-active,
            .sp-page.sp-picks-page .sp-scorecard-filter-pill.is-active:hover,
            .sp-page.sp-picks-page .sp-scorecard-filter-pill.is-active:focus,
            .sp-page.sp-picks-page .sp-scorecard-filter-pill.is-active:focus-visible {
                background: linear-gradient(140deg, #0d67a5 0%, #0a4f7d 100%) !important;
                border-color: #083e63 !important;
                color: #ffffff !important;
                box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 1px 6px rgba(8, 62, 99, 0.25);
            }

            .sp-page.sp-picks-page .sp-scorecard-filter-summary {
                margin: 0.15rem 0 0.75rem;
                color: #35536f;
                font-size: 0.93rem;
                font-weight: 600;
            }

            .sp-page.sp-picks-page .sp-scorecard-filter-indicator {
                margin-left: 0.4rem;
                color: #0d67a5;
                font-size: 0.9rem;
                vertical-align: middle;
            }

            .sp-page.sp-picks-page .sp-filter-has-value.ui-selectcheckboxmenu {
                border-color: #57a8de;
                box-shadow: 0 0 0 1px rgba(13, 103, 165, 0.14);
                background: #eef7ff;
            }

            .sp-page.sp-picks-page .sp-rules-content {
                display: grid;
                gap: 0.85rem;
                max-height: 65vh;
                overflow: auto;
                padding-right: 0.25rem;
            }

            .sp-page.sp-picks-page .sp-rules-block {
                border: 1px solid #dbe7f3;
                border-radius: 0.8rem;
                background: #fbfdff;
                padding: 0.75rem 0.8rem;
            }

            .sp-page.sp-picks-page .sp-rules-title {
                font-size: 1rem;
                font-weight: 700;
                color: #153e75;
                margin-bottom: 0.4rem;
            }

            .sp-page.sp-picks-page .sp-rules-list {
                margin: 0;
                padding-left: 1rem;
                display: grid;
                gap: 0.3rem;
            }

            .sp-page.sp-picks-page .sp-rules-notes {
                margin-top: 0.65rem;
            }

            .sp-page.sp-picks-page .sp-rules-score-grid {
                display: grid;
                gap: 0.45rem;
            }

            .sp-page.sp-picks-page .sp-rules-score-row {
                border: 1px solid #d9e5f2;
                border-radius: 0.75rem;
                background: #ffffff;
                padding: 0.55rem 0.65rem;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.6rem;
            }

            .sp-page.sp-picks-page .sp-rules-score-label {
                font-size: 0.92rem;
                color: #334e68;
                line-height: 1.3;
            }

            .sp-page.sp-picks-page .sp-rules-score-points {
                min-width: 3.1rem;
                text-align: right;
                font-size: 1.1rem;
                font-weight: 800;
            }

            .sp-page.sp-picks-page .sp-rules-score-points.win {
                color: #1f7a49;
            }

            .sp-page.sp-picks-page .sp-rules-score-points.loss {
                color: #b72222;
            }

            .sp-page.sp-picks-page .sp-rules-score-points.neutral {
                color: #2b6cb0;
            }

            .sp-page.sp-picks-page .sp-rules-dialog.ui-dialog {
                width: min(760px, 94vw) !important;
            }

            .sp-page.sp-picks-page .sp-rules-dialog .ui-dialog-content {
                max-height: 72vh;
                overflow: auto;
            }

            /*
             * Rules dialog is rendered outside .sp-page in PrimeFaces, so keep
             * dialog-local selectors for content styling and scrolling.
             */
            .sp-rules-dialog.ui-dialog {
                width: min(760px, 94vw) !important;
            }

            .sp-rules-dialog .ui-dialog-content {
                max-height: 72vh;
                overflow: auto;
            }

            .sp-rules-dialog .sp-rules-content {
                display: grid;
                gap: 0.85rem;
                max-height: 65vh;
                overflow: auto;
                padding-right: 0.25rem;
            }

            .sp-rules-dialog .sp-rules-block {
                border: 1px solid #dbe7f3;
                border-radius: 0.8rem;
                background: #fbfdff;
                padding: 0.75rem 0.8rem;
            }

            .sp-rules-dialog .sp-rules-title {
                font-size: 1rem;
                font-weight: 700;
                color: #153e75;
                margin-bottom: 0.4rem;
            }

            .sp-rules-dialog .sp-rules-list {
                margin: 0;
                padding-left: 1rem;
                display: grid;
                gap: 0.3rem;
            }

            .sp-rules-dialog .sp-rules-notes {
                margin-top: 0.65rem;
            }

            .sp-rules-dialog .sp-rules-score-grid {
                display: grid;
                gap: 0.45rem;
            }

            .sp-rules-dialog .sp-rules-gap-tier-grid {
                margin-top: 0.65rem;
                margin-bottom: 0.65rem;
            }

            .sp-rules-dialog .sp-rules-score-row {
                border: 1px solid #d9e5f2;
                border-radius: 0.75rem;
                background: #ffffff;
                padding: 0.55rem 0.65rem;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.6rem;
            }

            .sp-rules-dialog .sp-rules-score-label {
                font-size: 0.92rem;
                color: #334e68;
                line-height: 1.3;
            }

            .sp-rules-dialog .sp-rules-score-points {
                min-width: 3.1rem;
                text-align: right;
                font-size: 1.1rem;
                font-weight: 800;
            }

            .sp-rules-dialog .sp-rules-score-points.win {
                color: #1f7a49;
            }

            .sp-rules-dialog .sp-rules-score-points.loss {
                color: #b72222;
            }

            .sp-rules-dialog .sp-rules-score-points.neutral {
                color: #2b6cb0;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item {
                display: flex;
                align-items: center;
                padding: 0.55rem 0.7rem;
                border: 0 !important;
                box-shadow: none !important;
                outline: 0 !important;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-items > li,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-items .ui-autocomplete-item,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-table td,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-table tr {
                border: 0 !important;
                box-shadow: none !important;
                outline: 0 !important;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-items {
                border: 0 !important;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-size: 0.75rem;
                width: 1.4rem;
                height: 1.4rem;
                flex: 0 0 1.4rem;
                margin-right: 0.45rem;
                border-radius: 999px;
                color: #ffffff;
                border: 1px solid transparent;
                box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon.is-available {
                background: #1f7a49;
                border-color: #16653b;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon.is-picked {
                background: #2563eb;
                border-color: #1e4fc7;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon.is-locked {
                background: #c93030;
                border-color: #a62828;
            }

            /* Autocomplete panel is appended outside .sp-page, so keep a global id-scoped spacing rule. */
            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon {
                margin-right: 0.45rem !important;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip {
                margin-left: 0.5rem;
                padding: 0.1rem 0.45rem;
                border-radius: 999px;
                font-size: 0.72rem;
                font-weight: 700;
                background: #edf3f9;
                color: #4f6478;
                display: inline-flex;
                align-items: center;
                border: 1px solid #cfdbe8;
                line-height: 1.2;
                white-space: nowrap;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip.is-available {
                background: #eaf8ef;
                color: #1f7a49;
                border-color: #bfe4cd;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip.is-locked {
                background: #fff1f1;
                color: #b42318;
                border-color: #f3c0c0;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip.is-picked {
                background: #edf3ff;
                color: #1f4ab8;
                border-color: #c9d8fb;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item:hover {
                background: #dff0ff !important;
                color: #183b57 !important;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip {
                background: #c8e5ff;
                color: #16466d;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip.is-available,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip.is-available {
                background: #d6f4e0;
                color: #16603a;
                border-color: #b2e5c7;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip.is-locked,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip.is-locked {
                background: #ffdcdc;
                color: #9b1c1c;
                border-color: #f1b7b7;
            }

            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip.is-picked,
            .sp-page.sp-picks-page #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip.is-picked {
                background: #dce8ff;
                color: #193f9a;
                border-color: #b7cbfb;
            }

            /*
             * Autocomplete panel is appended outside .sp-page, so use id-scoped
             * global selectors for reliable status icon/chip styling.
             */
            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                width: 1.62rem !important;
                height: 1.62rem !important;
                margin-right: 0.45rem !important;
                border-radius: 999px !important;
                font-size: 0.95rem !important;
                color: #ffffff !important;
                border: 0.5px solid transparent !important;
                box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.22) !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon.is-available {
                background: #1f7a49 !important;
                border-color: #16653b !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon.is-picked {
                background: #2563eb !important;
                border-color: #1e4fc7 !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-show-status-icon.is-locked {
                background: #c93030 !important;
                border-color: #a62828 !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip {
                margin-left: 0.5rem !important;
                padding: 0.12rem 0.5rem !important;
                border-radius: 999px !important;
                border: 1px solid #cfdbe8 !important;
                display: inline-flex !important;
                align-items: center !important;
                line-height: 1.2 !important;
                white-space: nowrap !important;
                font-size: 0.72rem !important;
                font-weight: 700 !important;
                background: #edf3f9 !important;
                color: #4f6478 !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip.is-available {
                background: #eaf8ef !important;
                color: #1f7a49 !important;
                border-color: #bfe4cd !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip.is-picked {
                background: #edf3ff !important;
                color: #1f4ab8 !important;
                border-color: #c9d8fb !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item .sp-lock-chip.is-locked {
                background: #fff1f1 !important;
                color: #b42318 !important;
                border-color: #f3c0c0 !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip.is-available,
            #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip.is-available {
                background: #d6f4e0 !important;
                color: #16603a !important;
                border-color: #b2e5c7 !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip.is-picked,
            #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip.is-picked {
                background: #dce8ff !important;
                color: #193f9a !important;
                border-color: #b7cbfb !important;
            }

            #mainForm\:showAuto_panel .ui-autocomplete-item.ui-state-highlight .sp-lock-chip.is-locked,
            #mainForm\:showAuto_panel .ui-autocomplete-item:hover .sp-lock-chip.is-locked {
                background: #ffdcdc !important;
                color: #9b1c1c !important;
                border-color: #f1b7b7 !important;
            }

            @media (max-width: 900px) {
                .sp-page.sp-picks-page .sp-user-score-stats {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }
            }

            @media (max-width: 640px) {
                .sp-page.sp-picks-page .sp-user-score-stats {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }

                .sp-page.sp-picks-page .sp-show-picker-section {
                    padding: 0.72rem 0.62rem 0.5rem;
                    margin-bottom: 1.2rem;
                }

                .sp-page.sp-picks-page .sp-next-show-row {
                    flex-direction: column;
                    align-items: flex-start;
                }

                .sp-page.sp-picks-page .sp-next-show-meta {
                    width: 100%;
                }

                .sp-page.sp-picks-page .sp-submitted-picks-toolbar {
                    justify-content: flex-start;
                }

                .sp-page.sp-picks-page .sp-submitted-picks-sort {
                    min-width: 100%;
                }
            }

            @media (max-width: 383px) {
                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator {
                    display: block;
                    padding: 0.4rem 0.35rem;
                    text-align: center;
                    white-space: normal;
                }

                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator > * {
                    float: none !important;
                    display: inline-block;
                    vertical-align: middle;
                }

                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator .ui-paginator-pages {
                    display: inline-block;
                    margin: 0 0.1rem;
                    float: none !important;
                }

                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator .ui-paginator-first,
                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator .ui-paginator-prev,
                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator .ui-paginator-next,
                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator .ui-paginator-last,
                .sp-page.sp-picks-page .sp-submitted-picks-table .ui-paginator .ui-paginator-pages .ui-paginator-page {
                    margin: 0 0.0625em !important;
                    float: none !important;
                }
            }

            .sp-page.sp-leaderboard-page {
                max-width: 1050px;
                margin: 0 auto;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-heading {
                margin-top: 0;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-tabs {
                margin-bottom: 0.85rem;
                gap: 0.6rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-month-heading {
                margin-bottom: 0.6rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-step-heading {
                margin-top: 1.25rem;
                margin-bottom: 0.45rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-step-title {
                font-size: clamp(1.02rem, 2.4vw, 1.2rem);
                color: #0d67a5;
                font-weight: 800;
                line-height: 1.2;
                word-break: break-word;
            }

            .sp-page.sp-leaderboard-page #showTotalsSection {
                scroll-margin-top: 6.5rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-table .ui-datatable-data > tr > td {
                padding: 0.34rem 0.45rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-row {
                border-color: #c9def0;
                background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-row .sp-show-line + .sp-show-line {
                margin-top: 0.1rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-name {
                font-size: clamp(0.92rem, 2vw, 1rem);
                font-weight: 700;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-row {
                display: flex;
                align-items: stretch;
                gap: 0.6rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-row.sp-show-link {
                padding: 0;
                overflow: hidden;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-main {
                flex: 1 1 auto;
                min-width: 0;
                display: flex;
                flex-direction: column;
                justify-content: center;
                padding: 0.42rem 0.56rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-main .sp-show-line-top {
                justify-content: flex-start;
                margin-bottom: 0;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-score-wrap {
                flex: 0 0 auto;
                min-width: 4.1rem;
                padding: 0 0.62rem;
                border-radius: 0 0.82rem 0.82rem 0;
                border: 1px solid #bfe0c8;
                background: #effaf2;
                color: #1f7a49;
                display: flex;
                align-items: center;
                justify-content: center;
                align-self: stretch;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-score-wrap.loss {
                border-color: #efbcbc;
                background: #fff3f3;
                color: #b72222;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-score-wrap.pending {
                border-color: #cbd8e6;
                background: #f5f8fc;
                color: #5c7189;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-score-wrap.pending.editable {
                gap: 0.4rem;
                border-color: #9bc9aa;
                background: #effaf2;
                color: #1f7a49;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-edit-icon {
                font-size: 0.9rem;
                font-weight: 700;
                line-height: 1;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-user-score-value {
                font-size: clamp(0.95rem, 2.1vw, 1.05rem);
                font-weight: 800;
                line-height: 1;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-showusers-table .sp-leaderboard-entry-note {
                font-size: 0.74rem;
                opacity: 0.9;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-row {
                display: flex;
                align-items: stretch;
                gap: 0;
                border: 1px solid #d8e8f6;
                border-radius: 0.85rem;
                overflow: hidden;
                background: linear-gradient(180deg, #fbfdff 0%, #f5faff 100%);
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-main {
                flex: 1 1 auto;
                min-width: 0;
                display: flex;
                flex-direction: column;
                justify-content: center;
                padding: 0.42rem 0.56rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-user {
                font-size: 0.95rem;
                font-weight: 700;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-avg-wrap {
                flex: 0 0 auto;
                min-width: 4.1rem;
                padding: 0.2rem 0.62rem;
                border-radius: 0 0.82rem 0.82rem 0;
                border-left: 1px solid #bfe0c8;
                background: #effaf2;
                color: #1f7a49;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                align-self: stretch;
                gap: 0.1rem;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-avg-wrap.loss {
                border-left-color: #efbcbc;
                background: #fff3f3;
                color: #b72222;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-avg-prefix {
                font-size: 0.68rem;
                font-weight: 700;
                line-height: 1;
                text-transform: uppercase;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-month-avg-value {
                font-size: 0.94rem;
                font-weight: 800;
                line-height: 1;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr > td {
                cursor: default !important;
                -webkit-tap-highlight-color: transparent;
                pointer-events: none !important;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-highlight,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-hover,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-active,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-focus,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-highlight > td,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-hover > td,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-active > td,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr.ui-state-focus > td {
                background: inherit !important;
                box-shadow: none !important;
                outline: none !important;
                border-color: inherit !important;
            }

            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr:focus,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .ui-datatable-data > tr > td:focus,
            .sp-page.sp-leaderboard-page .sp-leaderboard-monthly-table .sp-leaderboard-row:focus {
                outline: none !important;
                box-shadow: none !important;
            }

            @media (max-width: 640px) {
                .sp-page.sp-leaderboard-page .sp-leaderboard-tabs {
                    justify-content: flex-start;
                }

                .sp-page.sp-leaderboard-page .sp-user-score-stats {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }
            }

            @media (max-width: 420px) {
                .sp-page.sp-leaderboard-page .sp-user-score-stats {
                    grid-template-columns: 1fr;
                }
            }

/* Single show page styles aligned with Show Picks look and feel */
            .sp-page.sp-show-page {
                max-width: 1300px;
                margin: 0 auto;
            }

            .sp-page.sp-show-page .sp-show-nav {
                display: grid;
                grid-template-columns: 1fr auto 1fr;
                gap: 0.55rem;
                margin-bottom: 0.75rem;
                align-items: center;
            }

            .sp-page.sp-show-page .sp-show-nav-cell {
                display: flex;
                align-items: center;
            }

            .sp-page.sp-show-page .sp-show-nav-cell.left {
                justify-content: flex-start;
            }

            .sp-page.sp-show-page .sp-show-nav-cell.center {
                justify-content: center;
            }

            .sp-page.sp-show-page .sp-show-nav-cell.right {
                justify-content: flex-end;
            }

            .sp-page.sp-show-page .sp-show-nav-btn.ui-button {
                border-radius: 999px;
                border-color: #9ecdf1;
                color: #0d67a5;
                background: linear-gradient(140deg, #edf8ff 0%, #f8fcff 100%);
            }

            .sp-page.sp-show-page .sp-show-nav-btn.ui-button:hover {
                border-color: #77b8e5;
                background: #e1f2ff;
                color: #084b77;
            }

            .sp-page.sp-show-page .sp-show-empty-title {
                font-size: clamp(1.5rem, 4.2vw, 2.1rem);
                color: #0d67a5;
                font-weight: 800;
                line-height: 1.1;
            }

            .sp-page.sp-show-page .sp-show-hero {
                border: 1px solid #c8ddf0;
                border-radius: 1.1rem;
                background: linear-gradient(132deg, #e9f6ff 0%, #ffffff 52%, #f4fbff 100%);
            }

            .sp-page.sp-show-page .sp-show-city {
                color: #0d67a5;
                text-shadow: 0 3px 10px rgba(13, 103, 165, 0.08);
                font-size: inherit;
                line-height: inherit;
            }

            .sp-page.sp-show-page .sp-show-hero .p-3 {
                --sp-cityline-size: min(6.4vw, 2.8rem);
            }

            .sp-page.sp-show-page .sp-show-cityline {
                display: inline-block;
                max-width: 100%;
                text-align: center;
                font-size: var(--sp-cityline-size);
                line-height: 1.08;
            }

            .sp-page.sp-show-page .sp-show-date-line {
                display: flex;
                justify-content: center;
                text-align: center;
                margin-top: 0.35rem;
                margin-bottom: 0.35rem;
                font-size: calc(var(--sp-cityline-size) - 1pt);
                line-height: 1.15;
                color: #355b7a;
                font-weight: 600;
            }

            .sp-page.sp-show-page .sp-show-venue {
                color: #153e75;
                font-weight: 700;
            }

            .sp-page.sp-show-page .sp-show-hero .sp-show-venue-header {
                font-size: clamp(1.33rem, 4.4vw, 2.33rem);
            }

            .sp-page.sp-show-page .sp-show-band-panel-value {
                color: #0f2d56;
                font-size: clamp(1.35rem, 2.8vw, 1.8rem);
                font-weight: 700;
                line-height: 1.2;
            }

            .sp-page.sp-show-page .sp-section-heading {
                margin-bottom: 0.65rem;
            }

            .sp-page.sp-show-page .sp-show-card {
                border: 1px solid #d8e8f6;
                border-radius: 1rem;
                background: linear-gradient(180deg, #fbfdff 0%, #f5faff 100%);
            }

            .sp-page.sp-show-page .grid.sp-show-card {
                margin-top: 0;
            }

            .sp-page.sp-show-page .sp-show-card .ui-button {
                border-radius: 0.75rem;
            }

            .sp-page.sp-show-page .sp-show-comments {
                display: block;
                border-left: 4px solid #38a3e3;
                border-radius: 0.65rem;
                background: #f2f9ff;
                padding: 0.55rem 0.7rem;
            }

            .sp-page.sp-show-page .sp-setlist-list {
                margin-top: 0.45rem;
                padding-left: 1.25rem;
            }

            .sp-page.sp-show-page .sp-show-grid > .col-12 {
                padding-top: 0;
            }

            @media (max-width: 767px) {
                .sp-page.sp-show-page .sp-show-nav {
                    margin-bottom: 0.55rem;
                }

                .sp-page.sp-show-page .sp-show-nav-btn.ui-button {
                    min-width: 2.3rem;
                }
            }

/* Friends at this show: authenticated preview and bounded list */
.friends-at-show-card {
    margin-top: 1rem;
    border: 1px solid #cfe5f1;
    border-radius: 1rem;
    background: linear-gradient(135deg, #f0f9fd 0%, #fff7f0 100%);
    padding: 1rem;
}

.friends-at-show-card__header,
.friends-at-show-page__header,
.friends-at-show-page__summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.friends-at-show-card__eyebrow {
    display: block;
    color: #c83d00;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.friends-at-show-card h2,
.friends-at-show-page h1,
.friends-at-show-page h2 {
    margin: .2rem 0;
    overflow-wrap: anywhere;
    color: #153e75;
}

.friends-at-show-card p,
.friends-at-show-page p {
    margin: .2rem 0;
    color: #52657a;
}

.friends-at-show-card__see-all,
.friends-at-show-page__back,
.friends-at-show-pagination__link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    flex: 0 0 auto;
    border-radius: .75rem;
    padding: .55rem .75rem;
    color: #0d67a5;
    font-weight: 800;
    text-decoration: none;
}

.friends-at-show-preview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
    gap: .6rem;
    margin-top: .85rem;
}

.friends-at-show-entry {
    display: flex;
    min-width: 0;
    min-height: 56px;
    align-items: center;
    gap: .55rem;
    border: 1px solid #d8e5ed;
    border-radius: .8rem;
    background: rgba(255, 255, 255, .82);
    padding: .4rem .55rem;
    color: #294c67;
    text-decoration: none;
}

.friends-at-show-avatar {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    overflow: hidden;
    flex: 0 0 44px;
    border-radius: 50%;
    background: linear-gradient(145deg, #009ce2, #006b9b);
    color: #fff;
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.friends-at-show-avatar--large {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    font-size: 1rem;
}

.friends-at-show-avatar__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.friends-at-show-entry__name {
    min-width: 0;
    overflow: hidden;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.friends-at-show-page {
    max-width: 58rem;
    min-width: 0;
    margin: 1rem auto;
}

.friends-at-show-page__header,
.friends-at-show-page__content,
.friends-at-show-page__unavailable {
    border: 1px solid #cfe5f1;
    border-radius: 1rem;
    background: linear-gradient(135deg, #f0f9fd 0%, #fff 70%);
    padding: clamp(1rem, 3vw, 1.5rem);
}

.friends-at-show-page__content {
    margin-top: 1rem;
    background: #fff;
}

.friends-at-show-page__show {
    display: grid;
    gap: .15rem;
}

.friends-at-show-page__page-label {
    border-radius: 999px;
    background: #e7f5fc;
    padding: .4rem .7rem;
    color: #355b7a;
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}

.friends-at-show-list {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}

.friends-at-show-list__entry {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 72px;
    align-items: center;
    gap: .8rem;
    border: 1px solid #d8e5ed;
    border-radius: .9rem;
    background: #fbfdff;
    padding: .55rem .75rem;
    color: #294c67;
    text-decoration: none;
}

.friends-at-show-list__identity {
    display: grid;
    min-width: 0;
    gap: .15rem;
}

.friends-at-show-list__identity strong {
    overflow-wrap: anywhere;
    color: #153e75;
    font-size: 1.05rem;
}

.friends-at-show-list__identity span {
    color: #52657a;
    font-size: .85rem;
}

.friends-at-show-pagination {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-top: 1rem;
}

.friends-at-show-page__empty,
.friends-at-show-page__unavailable {
    display: grid;
    place-items: center;
    gap: .5rem;
    text-align: center;
}

.friends-at-show-page__empty {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    margin-top: 1rem;
    border-radius: .8rem;
    background: #f3f8fb;
    padding: 1rem;
    text-align: left;
}

.friends-at-show-page__empty div {
    display: grid;
    gap: .15rem;
}

@media (max-width: 575px) {
    .friends-at-show-card__header,
    .friends-at-show-page__header,
    .friends-at-show-page__summary {
        align-items: stretch;
        flex-direction: column;
    }

    .friends-at-show-card__see-all,
    .friends-at-show-page__back {
        width: 100%;
    }

    .friends-at-show-preview {
        grid-template-columns: minmax(0, 1fr);
    }

    .friends-at-show-page__page-label {
        width: fit-content;
    }
}

/* Home page styles aligned with Show Picks look and feel */
            .sp-page.sp-home-page {
                max-width: 1300px;
                margin: 0 auto;
            }

            .sp-page.sp-home-page .sp-home-archive {
                border: 1px solid #c8ddf0;
                border-radius: 1rem;
                background: linear-gradient(132deg, #e9f6ff 0%, #ffffff 52%, #f4fbff 100%);
            }

            .sp-page.sp-home-page .sp-home-archive-pill {
                letter-spacing: 0.03em;
            }

            .sp-page.sp-home-page .sp-home-show-jump {
                border: 1px solid #c8ddf0;
                border-radius: 1rem;
                background: linear-gradient(180deg, #fbfdff 0%, #f5faff 100%);
            }

            .sp-page.sp-home-page .sp-home-show-autocomplete,
            .sp-page.sp-home-page .sp-home-show-autocomplete .ui-autocomplete-input {
                width: 100%;
            }

            .sp-page.sp-home-page .sp-home-show-autocomplete {
                position: relative;
            }

            .sp-page.sp-home-page .sp-home-show-autocomplete.sp-home-search-busy .ui-autocomplete-input {
                padding-right: 2.5rem;
            }

            .sp-page.sp-home-page .sp-home-show-autocomplete .ui-icon-loading {
                display: none;
            }

            .sp-page.sp-home-page .sp-home-show-search-status {
                display: none;
                align-items: center;
                gap: 0.4rem;
                margin-top: 0.55rem;
                color: #2f6088;
                font-size: 0.86rem;
                font-weight: 700;
            }

            .sp-page.sp-home-page .sp-home-show-autocomplete.sp-home-search-busy + .sp-home-show-search-status {
                display: inline-flex;
            }

            .sp-page.sp-home-page .sp-home-grid {
                margin-top: 0.25rem;
            }

            .sp-page.sp-home-page .sp-section-heading {
                margin-bottom: 0.65rem;
            }

            .sp-page.sp-home-page .sp-home-section-subtitle {
                color: #4b5f73;
                font-size: 0.86rem;
                margin-top: 0.2rem;
                line-height: 1.3;
            }

            .sp-page.sp-home-page .sp-home-card {
                border: 1px solid #d8e8f6;
                border-radius: 1rem;
                background: linear-gradient(180deg, #fbfdff 0%, #f5faff 100%);
                padding: 0.75rem;
            }

            .sp-page.sp-home-page .sp-home-show-row {
                border: 1px solid #c8ddf0;
                border-radius: 0.95rem;
                background: linear-gradient(132deg, #e9f6ff 0%, #ffffff 52%, #f4fbff 100%);
                padding: 0.85rem 0.95rem !important;
                margin: 0.6rem 0;
            }

            .sp-page.sp-home-page .sp-home-next-show-btn {
                display: block;
                text-decoration: none;
            }

            .sp-page.sp-home-page .sp-home-next-show-btn:hover {
                text-decoration: none;
            }

            .sp-page.sp-home-page .sp-home-next-show-btn:hover .sp-home-show-row {
                background: #e1f2ff;
                border-color: #77b8e5;
            }

            .sp-page.sp-home-page .sp-home-next-show-btn.is-disabled {
                cursor: default;
            }

            .sp-page.sp-home-page .sp-home-next-show-btn.is-disabled .sp-home-show-row,
            .sp-page.sp-home-page .sp-home-next-show-btn.is-disabled:hover .sp-home-show-row {
                background: linear-gradient(160deg, #f7fbff 0%, #ffffff 100%);
                border-color: #cfddec;
                box-shadow: none;
            }

            .sp-page.sp-home-page .sp-home-next-show-copy {
                min-width: 0;
            }

            .sp-page.sp-home-page .js-home-next-show-status {
                display: inline-flex;
                align-items: center;
                gap: 0.35rem;
            }

            .sp-page.sp-home-page .sp-next-show-meta {
                display: inline-flex;
                flex-direction: column;
                align-items: flex-end;
                gap: 0.18rem;
            }

            .sp-page.sp-home-page .sp-home-next-show-pill-label {
                color: #2f6088;
                font-size: 0.68rem;
                font-weight: 800;
                letter-spacing: 0.04em;
                text-transform: uppercase;
                line-height: 1.1;
            }

            .sp-page.sp-home-page .sp-home-show-city {
                color: #0d67a5;
            }

            .sp-page.sp-home-page .sp-home-show-venue {
                color: #153e75;
            }

            .sp-page.sp-home-page .sp-home-empty-note {
                color: #153e75;
                font-size: 1.15rem;
                font-weight: 700;
                line-height: 1.35;
            }

            .sp-page.sp-home-page .sp-home-list {
                margin: 0;
                padding-left: 1.2rem;
            }

            .sp-page.sp-home-page .sp-home-list li:last-child {
                margin-bottom: 0;
            }

            .sp-page.sp-home-page .sp-home-embed {
                border: 1px solid #d8e8f6;
                border-radius: 1rem;
                background: linear-gradient(180deg, #fbfdff 0%, #f5faff 100%);
            }

            .sp-page.sp-home-page .sp-home-scroller .grid.surface-card {
                border-left: 0;
                border-right: 0;
                border-bottom: 0;
                border-radius: 0;
                background: transparent;
                padding: 0 !important;
            }

            .sp-page.sp-home-page .sp-home-scroller .grid.surface-card.border-top-1 {
                border-top-width: 1px !important;
                border-top-style: solid !important;
            }

            .sp-band-name-inline {
                color: #0f2d56;
            }

            @media (max-width: 767px) {
                .sp-page.sp-home-page .sp-home-card {
                    padding: 0.55rem;
                }

                .sp-page.sp-home-page .sp-home-show-row {
                    padding: 0.65rem 0.75rem !important;
                }

                .sp-page.sp-home-page .sp-home-show-autocomplete-panel {
                    width: 100% !important;
                    min-width: 100% !important;
                    max-width: 100% !important;
                    box-sizing: border-box;
                }

                .sp-page.sp-home-page .sp-home-show-autocomplete-panel .ui-autocomplete-items {
                    width: 100% !important;
                    table-layout: fixed;
                }

                .sp-page.sp-home-page .sp-home-show-autocomplete-panel .ui-autocomplete-row > td {
                    white-space: normal;
                    overflow-wrap: anywhere;
                }
            }

/* User shows visualizations */
            .user-shows-page .user-shows-year-column {
                min-width: 0;
            }

            .user-shows-page .user-shows-year-section {
                position: relative;
                margin-top: 1rem;
                border-top: 1px solid #d7e6ef;
                padding: 1.65rem 0.25rem 0.25rem;
            }

            .user-shows-page .user-shows-year-section::before {
                position: absolute;
                top: -2px;
                left: 0.25rem;
                width: 4.5rem;
                height: 3px;
                border-radius: 999px;
                background: linear-gradient(90deg, #009ce2, #e24600);
                content: "";
            }

            .user-shows-page .user-shows-visual-title {
                margin: 0;
                color: #153e75;
                font-family: inherit;
                font-size: 1.15rem;
                font-weight: 800;
                letter-spacing: 0.01em;
                line-height: 1.35;
            }

            .user-shows-page .user-shows-year-chart {
                position: relative;
                width: 100%;
                height: clamp(10.5rem, 17vw, 14rem);
                min-width: 0;
                margin-top: 0.65rem;
            }

            .user-shows-page .user-state-map {
                position: relative;
                display: flex;
                flex-direction: column;
                height: 100%;
                min-height: 0;
                padding: 0.25rem;
            }

            .user-shows-page .user-state-map__heading {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                justify-content: space-between;
                gap: 0.5rem 1rem;
                margin: 0 0 0.35rem;
            }

            .user-shows-page .user-state-map__legend {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                gap: 0.35rem 0.9rem;
                color: #52657a;
                font-size: 0.78rem;
                font-weight: 600;
            }

            .user-shows-page .user-state-map__toolbar {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                justify-content: space-between;
                gap: 0.55rem 1rem;
                min-height: 2rem;
                margin-bottom: 0.25rem;
            }

            .user-shows-page .user-state-map__hint {
                display: inline-flex;
                align-items: center;
                gap: 0.4rem;
                color: #52657a;
                font-size: 0.8rem;
                font-weight: 600;
            }

            .user-shows-page .user-state-map__hint .pi {
                color: #009ce2;
                font-size: 0.75rem;
            }

            .user-shows-page .user-state-map__active-filter {
                display: inline-flex;
                align-items: center;
                gap: 0.5rem;
                border: 1px solid rgba(0, 156, 226, 0.28);
                border-radius: 999px;
                background: #e8f6fc;
                color: #153e75;
                padding: 0.3rem 0.35rem 0.3rem 0.7rem;
                font-size: 0.8rem;
                font-weight: 600;
                box-shadow: 0 0.25rem 0.75rem rgba(21, 62, 117, 0.08);
            }

            .user-shows-page .user-state-map__active-filter button {
                display: inline-flex;
                width: 1.55rem;
                height: 1.55rem;
                border: 0;
                border-radius: 50%;
                align-items: center;
                justify-content: center;
                background: #ffffff;
                color: #006b9b;
                cursor: pointer;
                transition: background-color 140ms ease, color 140ms ease, transform 140ms ease;
            }

            .user-shows-page .user-state-map__active-filter button:hover,
            .user-shows-page .user-state-map__active-filter button:focus-visible {
                background: #e24600;
                color: #ffffff;
                outline: none;
                transform: scale(1.06);
            }

            .user-shows-page .user-state-map__legend span {
                display: inline-flex;
                align-items: center;
                gap: 0.3rem;
            }

            .user-shows-page .user-state-map__legend i {
                display: inline-block;
                width: 0.8rem;
                height: 0.8rem;
                border: 1px solid #ffffff;
                border-radius: 0.18rem;
                box-shadow: 0 0 0 1px #8bafc1;
            }

            .user-shows-page .user-state-map__legend .is-visited,
            .user-shows-page .user-state-map__state.is-visited {
                fill: #009CE2;
                background: #009CE2;
            }

            .user-shows-page .user-state-map__legend .is-unvisited,
            .user-shows-page .user-state-map__state.is-unvisited {
                fill: #d7e6ef;
                background: #d7e6ef;
            }

            .user-shows-page .user-state-map__svg {
                display: block;
                width: 100%;
                height: auto;
                max-height: 34rem;
                overflow: visible;
            }

            .user-shows-page .user-state-map__state {
                stroke: #ffffff;
                stroke-width: 1.4;
                outline: none;
                vector-effect: non-scaling-stroke;
                transition: fill 160ms ease, stroke 160ms ease, filter 160ms ease;
            }

            .user-shows-page .user-state-map__state.is-visited {
                cursor: pointer;
            }

            .user-shows-page .user-state-map__state.is-visited:hover {
                fill: #006b9b;
                filter: drop-shadow(0 2px 3px rgba(21, 62, 117, 0.25));
            }

            .user-shows-page .user-state-map__state.is-visited:focus-visible {
                stroke: #e24600;
                stroke-width: 3px;
                filter: drop-shadow(0 0 4px rgba(226, 70, 0, 0.45));
            }

            .user-shows-page .user-state-map__state.is-selected {
                fill: #006b9b;
                stroke: #e24600;
                stroke-width: 3px;
                filter: drop-shadow(0 0 5px rgba(226, 70, 0, 0.42));
            }

            .user-shows-page .user-state-map.is-loading .user-state-map__svg {
                opacity: 0.58;
            }

            .user-shows-page .user-state-map.is-loading .user-state-map__state {
                cursor: progress;
                pointer-events: none;
            }

            .user-shows-page .user-state-map__count {
                fill: #ffffff;
                stroke: rgba(8, 48, 78, 0.52);
                stroke-width: 3px;
                paint-order: stroke fill;
                font-size: 18px;
                font-weight: 800;
                text-anchor: middle;
                dominant-baseline: middle;
                pointer-events: none;
            }

            .user-shows-page .user-state-map__callout {
                outline: none;
            }

            .user-shows-page .user-state-map__callout.is-visited {
                cursor: pointer;
            }

            .user-shows-page .user-state-map__callout polyline {
                fill: none;
                stroke: #52657a;
                stroke-width: 1.4;
                vector-effect: non-scaling-stroke;
                transition: stroke 140ms ease, stroke-width 140ms ease;
            }

            .user-shows-page .user-state-map__callout-badge {
                fill: #e8f6fc;
                stroke: #009ce2;
                stroke-width: 1.5;
                vector-effect: non-scaling-stroke;
                transition: fill 140ms ease, stroke 140ms ease, filter 140ms ease;
            }

            .user-shows-page .user-state-map__callout text {
                fill: #153e75;
                stroke: #ffffff;
                stroke-width: 2px;
                paint-order: stroke fill;
                font-size: 20px;
                font-weight: 800;
                text-anchor: middle;
                dominant-baseline: middle;
                pointer-events: none;
                transition: fill 140ms ease;
            }

            .user-shows-page .user-state-map__callout.is-visited:hover polyline,
            .user-shows-page .user-state-map__callout.is-visited:focus-visible polyline,
            .user-shows-page .user-state-map__callout.is-selected polyline {
                stroke: #e24600;
                stroke-width: 2.5;
            }

            .user-shows-page .user-state-map__callout.is-visited:hover .user-state-map__callout-badge,
            .user-shows-page .user-state-map__callout.is-visited:focus-visible .user-state-map__callout-badge {
                fill: #009ce2;
                stroke: #ffffff;
                filter: drop-shadow(0 2px 3px rgba(21, 62, 117, 0.3));
            }

            .user-shows-page .user-state-map__callout.is-selected .user-state-map__callout-badge {
                fill: #006b9b;
                stroke: #e24600;
                filter: drop-shadow(0 0 4px rgba(226, 70, 0, 0.42));
            }

            .user-shows-page .user-state-map__callout.is-visited:hover text,
            .user-shows-page .user-state-map__callout.is-visited:focus-visible text,
            .user-shows-page .user-state-map__callout.is-selected text {
                fill: #ffffff;
            }

            .user-shows-page .user-state-map__callout.is-hidden {
                display: none;
            }

            .user-shows-page .user-state-map__outside {
                align-self: flex-start;
                margin-top: 0.35rem;
                border-radius: 999px;
                background: #e8f6fc;
                color: #153e75;
                padding: 0.35rem 0.7rem;
                font-size: 0.8rem;
            }

            .user-shows-page .user-state-map__accessible-list {
                position: absolute;
                width: 1px;
                height: 1px;
                margin: -1px;
                padding: 0;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border: 0;
            }

            .user-shows-page .user-shows-empty-state {
                display: flex;
                align-items: center;
                gap: 0.9rem;
                margin-top: 1rem;
                border: 1px solid #d7e6ef;
                border-radius: 0.85rem;
                background: linear-gradient(135deg, #f6fbfe, #fff8f4);
                color: #153e75;
                padding: 1rem 1.15rem;
            }

            .user-shows-page .user-shows-empty-state > .pi {
                color: #e24600;
                font-size: 1.35rem;
            }

            .user-shows-page .user-shows-empty-state strong,
            .user-shows-page .user-shows-empty-state span {
                display: block;
            }

            .user-shows-page .user-shows-empty-state span {
                margin-top: 0.2rem;
                color: #52657a;
                font-size: 0.85rem;
            }

            @media (max-width: 767px) {
                .user-shows-page .user-shows-visuals-card {
                    margin-right: 0 !important;
                    margin-left: 0 !important;
                    padding-right: 0;
                    padding-left: 0;
                }

                .user-shows-page .user-shows-map-column {
                    padding-right: 0;
                    padding-left: 0;
                }

                .user-shows-page .user-state-map__heading,
                .user-shows-page .user-state-map__toolbar,
                .user-shows-page .user-state-map__outside {
                    margin-right: 0.5rem;
                    margin-left: 0.5rem;
                }

                .user-shows-page .user-shows-year-chart {
                    height: 10rem;
                    margin-top: 0.5rem;
                }

                .user-shows-page .user-shows-year-section {
                    padding-right: 0;
                    padding-left: 0;
                }

                .user-shows-page .user-state-map {
                    padding: 0;
                }

                .user-shows-page .user-state-map__heading {
                    align-items: flex-start;
                    flex-direction: column;
                }

                .user-shows-page .user-state-map__toolbar {
                    align-items: flex-start;
                    flex-direction: column;
                }

                .user-shows-page .user-state-map__svg {
                    max-height: none;
                }
            }
