.srs-wrap .srs-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin: 20px 0;
}

.srs-wrap .srs-card {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	padding: 16px;
	text-align: center;
}

.srs-wrap .srs-card strong {
	display: block;
	font-size: 28px;
	line-height: 1.2;
}

.srs-wrap .srs-card span {
	color: #646970;
	font-size: 12px;
}

.srs-wrap .srs-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

@media (max-width: 1200px) {
	.srs-wrap .srs-grid-2 {
		grid-template-columns: 1fr;
	}
}

.srs-wrap .srs-panel {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	padding: 16px 20px;
	margin-bottom: 20px;
}

.srs-wrap .srs-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 12px 0 16px;
}

.srs-wrap .srs-filters-wide input,
.srs-wrap .srs-filters-wide select {
	min-width: 120px;
}

.srs-wrap select.srs-timezone-select {
	min-width: 320px;
	max-width: 100%;
}

.srs-tier {
	display: inline-block;
	min-width: 22px;
	text-align: center;
	border-radius: 3px;
	padding: 2px 6px;
	font-weight: 600;
	color: #fff;
}

.srs-tier-1 { background: #d63638; }
.srs-tier-2 { background: #dba617; }
.srs-tier-3 { background: #2271b1; }
.srs-tier-4 { background: #787c82; }

.srs-log-table td,
.srs-log-table th {
	font-size: 12px;
}

.srs-code {
	background: #1d2327;
	color: #f0f0f1;
	padding: 16px;
	overflow-x: auto;
	border-radius: 4px;
}

.tablenav-pages a {
	display: inline-block;
	padding: 4px 8px;
	margin: 0 2px;
	border: 1px solid #c3c4c7;
	text-decoration: none;
}

.tablenav-pages a.current {
	background: #2271b1;
	color: #fff;
	border-color: #2271b1;
}

.srs-upc-status {
	display: inline-block;
	margin-left: 8px;
	font-size: 12px;
	font-style: italic;
}

.srs-upc-status--loading { color: #2271b1; }
.srs-upc-status--ok { color: #00a32a; }
.srs-upc-status--error { color: #d63638; }
.srs-upc-status--warn { color: #dba617; }

.srs-cover-preview {
	margin-top: 10px;
}

.srs-cover-preview img {
	border-radius: 6px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.srs-wrap .srs-cover-col {
	width: 56px;
	padding-right: 4px;
	vertical-align: middle;
}

.srs-wrap .srs-cover-thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 4px;
	overflow: hidden;
	background: #f0f0f1;
	border: 1px solid #dcdcde;
	vertical-align: middle;
}

.srs-wrap .srs-cover-thumb img {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: cover;
}

.srs-wrap .srs-cover-thumb--empty {
	color: #646970;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	user-select: none;
}

.srs-wrap .srs-cover-thumb__initials {
	line-height: 1;
}

.srs-wrap .srs-stats-tabs {
	margin-top: 12px;
}

.srs-wrap .srs-stats-table {
	font-size: 12px;
}

.srs-wrap .srs-stats-table td,
.srs-wrap .srs-stats-table th {
	vertical-align: middle;
}

.srs-outsider-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f0e6ff;
	color: #5b21b6;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.srs-catalog-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #e7f0f7;
	color: #1d4f7a;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.srs-novita-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #dcfce7;
	color: #166534;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.srs-replay-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #fef3c7;
	color: #92400e;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.srs-radio-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #fce7f3;
	color: #9d174d;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.srs-discovery-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f3f4f6;
	color: #374151;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.srs-review-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #fcf0e3;
	color: #9a3412;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border: 1px solid #f0c070;
}

.srs-row-needs-review td {
	background: #fff8f0;
}

.srs-log-table th.sortable a,
.srs-log-table th.sorted a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	text-decoration: none;
	color: inherit;
}

.srs-log-table th.sortable a:hover {
	color: #2271b1;
}

.srs-log-table .sorting-indicators {
	display: inline-flex;
	flex-direction: column;
	line-height: 0.6;
	opacity: 0.35;
}

.srs-log-table th.sorted .sorting-indicators {
	opacity: 1;
}

.srs-log-table .sorting-indicator {
	display: block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
}

.srs-log-table .sorting-indicator.asc {
	border-bottom: 5px solid currentColor;
	margin-bottom: 1px;
}

.srs-log-table .sorting-indicator.desc {
	border-top: 5px solid currentColor;
}

.srs-log-table th.sorted.asc .sorting-indicator.desc,
.srs-log-table th.sorted.desc .sorting-indicator.asc {
	opacity: 0.25;
}

.srs-hb-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.srs-hb-online {
	background: #e6f4ea;
	color: #0a7a2f;
}

.srs-hb-warning {
	background: #fcf0d4;
	color: #8a6d00;
}

.srs-hb-down {
	background: #fce8e8;
	color: #b32d2e;
}

.srs-hb-stuck {
	background: #f3e8fd;
	color: #6b21a8;
}

.srs-pending-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	background: #e0f2fe;
	color: #075985;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.srs-bot-status {
	font-weight: 600;
	font-size: 12px;
}

.srs-bot-ok { color: #00a32a; }
.srs-bot-idle { color: #646970; }
.srs-bot-error { color: #d63638; }

.srs-test-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	background: #fff3cd;
	color: #856404;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.srs-notify-off-badge,
.srs-muted-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	background: #f0f0f1;
	color: #50575e;
	font-size: 11px;
	font-weight: 600;
}

.srs-clients-table .srs-env-cell,
.srs-hb-table .srs-env-cell {
	display: inline-block;
	max-width: 11em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
	cursor: help;
}

.srs-clients-table .srs-version-cell,
.srs-hb-table .srs-version-cell {
	display: inline-block;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	cursor: help;
}

.srs-clients-table .srs-env-empty,
.srs-hb-table .srs-env-empty {
	color: #a7aaad;
}

.srs-clients-table .srs-hb-message {
	max-width: 220px;
	word-break: break-word;
}

.srs-danger {
	color: #b32d2e;
}

.srs-clients-table .check-column {
	width: 2.2em;
	padding: 8px 0 8px 3px;
}

.srs-dsp-cell {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	vertical-align: middle;
}

.srs-dsp-icon {
	width: 20px;
	height: 20px;
	border-radius: 4px;
	flex-shrink: 0;
}

.srs-dsp-label {
	line-height: 1.2;
}

.srs-hb-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 12px 0 16px;
}

.srs-hb-filters select,
.srs-hb-filters input[type="search"] {
	max-width: 220px;
}

.srs-hb-hero {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	padding: 14px 16px;
	margin: 12px 0 8px;
}

.srs-hb-hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.srs-hb-stat {
	min-width: 120px;
	padding: 10px 14px;
	border-radius: 4px;
	background: #f6f7f7;
	border: 1px solid #e0e0e0;
}

.srs-hb-stat strong {
	display: block;
	font-size: 1.6rem;
	line-height: 1.1;
}

.srs-hb-stat span {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: #1d2327;
	margin-top: 2px;
}

.srs-hb-stat small {
	display: block;
	font-size: 11px;
	color: #646970;
	margin-top: 4px;
}

.srs-hb-stat-active {
	background: #e6f4ea;
	border-color: #c3e6cd;
}

.srs-hb-stat-down {
	background: #fce8e8;
	border-color: #f0b7b8;
}

.srs-hb-hero-dsp {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.srs-hb-hero-dsp-label {
	font-size: 12px;
	color: #646970;
	margin-right: 4px;
}

.srs-hb-dsp-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 8px;
	background: #f6f7f7;
	border: 1px solid #e0e0e0;
	border-radius: 999px;
	font-size: 12px;
}

.srs-hb-dsp-chip em {
	font-style: normal;
	font-weight: 700;
}

.srs-hb-hero-note {
	margin: 10px 0 0;
}

.srs-bulk-progress {
	margin-top: 12px;
	max-width: 640px;
}

.srs-bulk-progress progress {
	width: 100%;
	height: 18px;
}

.srs-bulk-status {
	margin: 8px 0 0;
	color: #1d2327;
}

.srs-bulk-errors {
	margin: 8px 0 0;
	padding-left: 1.2em;
	color: #d63638;
	font-size: 12px;
	max-height: 160px;
	overflow: auto;
}

/* Modal release (elenco → dettaglio) */
.srs-modal[hidden] {
	display: none !important;
}

.srs-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 16px;
	box-sizing: border-box;
}

.srs-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.srs-modal-dialog {
	position: relative;
	z-index: 1;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
	width: min(820px, 100%);
	max-height: calc(100vh - 80px);
	display: flex;
	flex-direction: column;
}

.srs-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid #dcdcde;
}

.srs-modal-header h2 {
	margin: 0;
	font-size: 18px;
}

.srs-modal-header .srs-modal-close {
	font-size: 28px;
	line-height: 1;
	text-decoration: none;
	color: #1d2327;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0 4px;
}

.srs-modal-body {
	padding: 8px 16px 16px;
	overflow: auto;
}

.srs-releases-table .check-column {
	width: 2.2em;
	padding: 8px 0 8px 3px;
	vertical-align: middle;
}

.srs-releases-table th a {
	text-decoration: none;
	color: inherit;
}

.srs-releases-table th a:hover {
	color: #2271b1;
}

.srs-release-side-actions {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #dcdcde;
}

.srs-url-with-open {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.srs-url-with-open .large-text {
	flex: 1 1 280px;
	max-width: 100%;
}

.srs-url-with-open .description {
	flex: 1 1 100%;
	margin: 0;
}

.srs-url-with-open .srs-copy-url {
	flex: 0 0 auto;
	min-width: 4.5em;
}

.srs-url-with-open .srs-copy-url.srs-copy-url--ok {
	color: #00a32a;
	border-color: #00a32a;
}

.srs-url-with-open .srs-copy-url:disabled {
	opacity: 0.55;
	cursor: default;
}

.srs-ext-links {
	display: inline-flex;
	gap: 4px;
	align-items: center;
}

.srs-ext-link {
	display: inline-block;
	min-width: 22px;
	padding: 1px 5px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	border-radius: 3px;
	color: #fff !important;
}

.srs-ext-link--spotify {
	background: #1db954;
}

.srs-ext-link--apple {
	background: #fc3c44;
}

.srs-links-col {
	white-space: nowrap;
	width: 1%;
}

.srs-row-actions {
	white-space: nowrap;
}

body.srs-modal-open {
	overflow: hidden;
}

/* Orari servizio — profilo / template */
.srs-schedule-help {
	margin: 8px 0 0;
	padding: 10px 12px;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	max-width: 820px;
}

.srs-schedule-help summary {
	cursor: pointer;
	font-weight: 600;
}

.srs-schedule-help-list {
	margin: 8px 0 0 18px;
	list-style: disc;
}

.srs-schedule-help-list li {
	margin: 4px 0;
}

.srs-schedule-day-row.is-inactive td {
	color: #646970;
}

.srs-schedule-day-row.is-inactive .srs-schedule-input {
	background: #f0f0f1;
	color: #787c82;
}

.srs-schedule-input.srs-invalid {
	border-color: #d63638 !important;
	box-shadow: 0 0 0 1px #d63638;
}

.srs-schedule-panel.is-disabled {
	opacity: 0.65;
}

.srs-schedule-table .srs-schedule-slot .srs-schedule-input {
	width: 4.5em;
	text-align: center;
}

.srs-share-link-url code {
	font-size: 11px;
}

.srs-share-link-url a {
	text-decoration: none;
}

.srs-share-link-url a:hover code {
	color: #2271b1;
}

.srs-share-link-badge {
	display: inline-block;
	background: #2271b1;
	color: #fff;
	border-radius: 3px;
	padding: 2px 6px;
	font-size: 11px;
	font-weight: 600;
}

/* Campi numerici profili / impostazioni (leggibilità valori fino a 999). */
.srs-wrap input[type="number"].srs-input-num-sm {
	width: 5.5em;
	min-width: 5.5em;
	box-sizing: border-box;
}

.srs-wrap input[type="number"].srs-input-num-md {
	width: 6.5em;
	min-width: 6.5em;
	box-sizing: border-box;
}

.srs-wrap input[type="number"].srs-input-num-lg {
	width: 7.5em;
	min-width: 7.5em;
	box-sizing: border-box;
}

/* Piano ascolto giornaliero (profili / template) */
.srs-listening-plan-card {
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
	max-width: 820px;
}

.srs-listening-plan-card.is-enabled {
	border-color: #2271b1;
	box-shadow: 0 0 0 1px #2271b1;
}

.srs-listening-plan-header {
	padding: 14px 16px;
	background: #f6f7f7;
	border-bottom: 1px solid #dcdcde;
	border-radius: 4px 4px 0 0;
}

.srs-listening-plan-card:not(.is-enabled) .srs-listening-plan-header {
	border-bottom: none;
	border-radius: 4px;
}

.srs-listening-plan-toggle {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	cursor: pointer;
}

.srs-listening-plan-toggle input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.srs-listening-plan-toggle-ui {
	flex: 0 0 44px;
	width: 44px;
	height: 24px;
	border-radius: 12px;
	background: #a7aaad;
	position: relative;
	transition: background 0.15s ease;
	margin-top: 2px;
}

.srs-listening-plan-toggle-ui::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
	transition: transform 0.15s ease;
}

.srs-listening-plan-toggle input:checked + .srs-listening-plan-toggle-ui {
	background: #2271b1;
}

.srs-listening-plan-toggle input:checked + .srs-listening-plan-toggle-ui::after {
	transform: translateX(20px);
}

.srs-listening-plan-toggle input:focus-visible + .srs-listening-plan-toggle-ui {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}

.srs-listening-plan-toggle-label {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.srs-listening-plan-toggle-label .description {
	margin: 0;
}

.srs-listening-plan-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.srs-listening-plan-presets {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.srs-listening-plan-presets legend {
	font-weight: 600;
	margin-bottom: 8px;
	padding: 0;
}

.srs-listening-plan-preset-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 8px;
}

.srs-listening-plan-preset {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 10px 12px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.12s ease, box-shadow 0.12s ease;
	margin: 0;
}

.srs-listening-plan-preset input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.srs-listening-plan-preset:hover {
	border-color: #2271b1;
}

.srs-listening-plan-preset.is-active {
	border-color: #2271b1;
	box-shadow: 0 0 0 1px #2271b1;
	background: #f0f6fc;
}

.srs-listening-plan-preset-title {
	font-weight: 600;
	font-size: 13px;
}

.srs-listening-plan-preset-desc {
	font-size: 12px;
	color: #646970;
	line-height: 1.35;
}

.srs-listening-plan-ranges {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
}

.srs-listening-plan-range-block {
	padding: 12px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fcfcfc;
}

.srs-listening-plan-range-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.srs-listening-plan-range-head .description {
	margin: 0;
}

.srs-listening-plan-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	padding: 2px 8px;
	border-radius: 3px;
	color: #fff;
}

.srs-listening-plan-badge--catalog {
	background: #00a32a;
}

.srs-listening-plan-badge--total {
	background: #2271b1;
}

.srs-listening-plan-range-inputs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.srs-listening-plan-dash {
	color: #646970;
	font-weight: 600;
}

.srs-listening-plan-unit {
	color: #646970;
	font-size: 12px;
}

.srs-listening-plan-visual {
	padding: 12px;
	background: #f6f7f7;
	border-radius: 4px;
	border: 1px solid #dcdcde;
}

.srs-listening-plan-bar {
	display: flex;
	height: 10px;
	border-radius: 5px;
	overflow: hidden;
	background: #dcdcde;
	margin-bottom: 8px;
}

.srs-listening-plan-bar-catalog {
	background: linear-gradient(90deg, #00a32a, #008a20);
	min-width: 4px;
}

.srs-listening-plan-bar-filler {
	flex: 1;
	background: linear-gradient(90deg, #72aee6, #2271b1);
}

.srs-listening-plan-visual-caption {
	margin: 0;
	font-size: 12px;
	color: #50575e;
}

.srs-listening-plan-playlists textarea {
	font-family: Consolas, Monaco, monospace;
	font-size: 12px;
	min-height: 88px;
}

.srs-listening-plan-footnote {
	margin: 0;
}

.srs-listening-plan-range-inputs input.srs-invalid {
	border-color: #d63638 !important;
	box-shadow: 0 0 0 1px #d63638;
}

@media (max-width: 782px) {
	.srs-listening-plan-preset-grid {
		grid-template-columns: 1fr;
	}
}
