.sponsor-season-filter { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.sponsor-season-filter .form-select { width: auto; min-width: 10rem; }
.sponsor-season-dates { color: var(--ui-text-muted); }
.sponsor-season-filter .form-select { min-width: 10rem; }

.sponsor-detail-overview { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(24rem, 1fr); gap: 1rem; align-items: start; }

.sponsor-booking-facts span { color: var(--ui-text-muted); font-size: .9rem; }

.sponsor-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .95fr) minmax(18rem, 1fr); gap: 1rem; align-items: start; }
.sponsor-chart { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; min-height: 13rem; padding: 1rem; }
.sponsor-chart-column { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; min-width: 0; gap: .4rem; color: var(--ui-text-muted); font-size: .82rem; }
.sponsor-chart-column > strong { min-height: 1.2em; color: var(--club-primary-dark); font-size: .75rem; text-align: center; }
.sponsor-chart-track { width: min(2.5rem, 70%); height: 8.5rem; display: flex; align-items: flex-end; background: var(--club-offwhite); border-bottom: 1px solid var(--ui-border); }
.sponsor-chart-bar { width: 100%; min-height: 3px; background: var(--ui-chart-1); }
.sponsor-service-breakdown { display: grid; grid-template-columns: minmax(8rem, .9fr) minmax(0, 1.1fr); align-items: center; gap: 1rem; padding: 1rem; }
.sponsor-service-pie { width: min(100%, 15rem); aspect-ratio: 1; margin: 0 auto; border: 1px solid var(--ui-border); border-radius: 50%; }
.sponsor-service-legend { display: grid; gap: .55rem; min-width: 0; margin: 0; padding: 0; list-style: none; }
.sponsor-service-legend li { display: grid; grid-template-columns: .85rem minmax(0, 1fr); align-items: start; gap: .55rem; min-width: 0; }
.sponsor-service-legend__swatch { width: .8rem; aspect-ratio: 1; margin-top: .28rem; border-radius: 50%; }
.sponsor-service-legend__text { display: grid; gap: .05rem; min-width: 0; }
.sponsor-service-legend__text strong { color: var(--club-primary-dark); font-size: .86rem; overflow-wrap: anywhere; }
.sponsor-service-legend__text small { color: var(--ui-text-muted); font-size: .78rem; font-variant-numeric: tabular-nums; }
.sponsor-task-list { display: flex; flex-direction: column; }
.sponsor-task { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--ui-border); }
.sponsor-task:last-child { border-bottom: 0; }
.sponsor-task span { display: flex; flex-direction: column; min-width: 0; }
.sponsor-task small { color: var(--ui-text-muted); }
.sponsor-task-date { text-align: right; white-space: nowrap; }

.sponsor-filters { display: grid; grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr)); align-items: end; }
.sponsor-search { position: relative; }
.sponsor-search > i { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: var(--ui-text-muted); pointer-events: none; }
.sponsor-search .form-control { padding-left: 2.25rem; }
.sponsor-table th { white-space: nowrap; }
.sponsor-table-secondary { display: block; max-width: 46rem; margin-top: .15rem; color: var(--ui-text-muted); font-weight: 400; white-space: normal; }
.sponsor-name-link { font-weight: 700; text-decoration: none; }
.sponsor-booking-facts > div { display: flex; flex-direction: column; min-width: 0; gap: .15rem; }
.sponsor-booking-section + .sponsor-booking-section { border-top: 1px solid var(--ui-border); }
.sponsor-booking-title { display: flex; flex: 1 1 10rem; flex-direction: column; min-width: 0; gap: 0; }
.sponsor-booking-title strong { font-size: .88rem; line-height: 1.2; }
.sponsor-booking-title small { color: var(--ui-text-muted); font-size: .76rem; font-weight: 400; line-height: 1.25; }
.sponsor-booking-section > .ui-panel-subsection-header > .ui-status-badge { flex: 0 0 auto; margin-left: auto; }
.sponsor-booking-header-actions { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .3rem; }
.sponsor-booking-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .45rem .65rem; padding: .45rem .8rem; }
.sponsor-booking-note { margin: 0; padding: .1rem .8rem .45rem; color: var(--ui-text-muted); font-size: .85rem; white-space: pre-wrap; }
.sponsor-history-filter { display: flex; align-items: center; gap: .5rem; }
.sponsor-history-filter .form-select { min-width: 9rem; }
.sponsor-editor-form { padding: 1rem; }
.sponsor-editor-form .ui-form-divider { border-bottom: 1px solid var(--ui-border); padding-bottom: .35rem; }
.sponsor-editor-form .ui-form-divider h3 { margin: 0; color: var(--club-primary-dark); font-size: 1rem; }
.sponsor-editor-form .ui-form-divider p { margin: .2rem 0 0; color: var(--ui-text-muted); font-weight: 400; }

@media (max-width: 1100px) {
    .sponsor-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sponsor-dashboard-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    .sponsor-dashboard-grid { grid-template-columns: 1fr; }
    .sponsor-dashboard-grid > :last-child { grid-column: auto; }
    .sponsor-booking-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1200px) {
    .sponsor-detail-overview { grid-template-columns: 1fr; gap: var(--ui-section-gap); }
}

@media (max-width: 600px) {
    .sponsor-season-filter { align-items: stretch; flex-wrap: wrap; }
    .sponsor-season-filter .form-select { flex: 1 1 9rem; }
    .sponsor-season-dates { flex-basis: 100%; }
    .sponsor-service-breakdown { grid-template-columns: 1fr; }
    .sponsor-service-pie { width: min(100%, 12rem); }
    .sponsor-filters { grid-template-columns: 1fr; }
    .sponsor-booking-section > .ui-panel-subsection-header { flex-wrap: wrap; }
    .sponsor-booking-facts { gap: .4rem .65rem; padding: .45rem .75rem; }
    .sponsor-booking-header-actions { margin-left: auto; }
    .sponsor-booking-note { padding: .1rem .75rem .45rem; }
    .sponsor-history-filter { width: 100%; justify-content: space-between; }
    .sponsor-history-filter .form-select { flex: 1; }
}
