﻿/* SIGCP PersonaCampana — capa visual aditiva, sin cambios de lógica. */
.sigcp-camp-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 18px
}

	.sigcp-camp-header h2 {
		margin: 3px 0 7px;
		color: #142e4c;
		font-size: 1.8rem;
		font-weight: 700
	}

	.sigcp-camp-header p {
		margin: 0;
		color: #64748b
	}

.sigcp-camp-eyebrow {
	display: block;
	font-size: .77rem;
	letter-spacing: .07em;
	font-weight: 700;
	color: #64748b
}

.sigcp-camp-header-actions, .sigcp-camp-footer, .sigcp-camp-links {
	display: flex;
	gap: 9px;
	align-items: center;
	flex-wrap: wrap
}

.sigcp-camp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	border-radius: 7px;
	border: 1px solid transparent;
	text-decoration: none !important;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: background .15s,border-color .15s,color .15s
}

.sigcp-camp-btn-primary {
	background: #142e4c;
	color: #fff !important;
	border-color: #142e4c
}

	.sigcp-camp-btn-primary:hover {
		background: #20466c;
		border-color: #20466c
	}

.sigcp-camp-btn-secondary, .sigcp-camp-btn-outline {
	background: #fff;
	color: #294766 !important;
	border-color: #aab9ca
}

	.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
		background: #edf4fa
	}

.sigcp-camp-btn-danger {
	background: #fff;
	color: #b42332 !important;
	border-color: #dc9ca5
}

	.sigcp-camp-btn-danger:hover {
		background: #b42332;
		color: #fff !important
	}

.sigcp-camp-btn:focus-visible {
	outline: 3px solid #80b9f4;
	outline-offset: 2px
}

.sigcp-camp-card {
	margin-bottom: 22px
}

.sigcp-camp-table-wrap {
	width: 100%;
	overflow-x: auto
}

.sigcp-camp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .875rem
}

	.sigcp-camp-table thead th {
		background: #142e4c;
		color: #fff;
		font-weight: 600;
		font-size: .78rem;
		letter-spacing: .02em;
		padding: 14px 15px;
		text-align: left;
		white-space: nowrap
	}

	.sigcp-camp-table tbody td {
		padding: 13px 15px;
		border-bottom: 1px solid #e1e7ef;
		vertical-align: middle;
		overflow-wrap: anywhere
	}

	.sigcp-camp-table tbody tr:nth-child(even) {
		background: #f8fafc
	}

	.sigcp-camp-table tbody tr:hover {
		background: #edf4fa
	}

	.sigcp-camp-table tbody tr:last-child td {
		border-bottom: 0
	}

	.sigcp-camp-table td:last-child {
		white-space: nowrap
	}

.sigcp-camp-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	padding: 5px 10px;
	font-size: .75rem;
	font-weight: 600;
	white-space: nowrap
}

	.sigcp-camp-status:before {
		content: '';
		height: 7px;
		width: 7px;
		background: currentColor;
		border-radius: 50%
	}

.sigcp-camp-status-active {
	background: #e6f4ea;
	color: #17683a
}

.sigcp-camp-status-history {
	background: #edf0f4;
	color: #596779
}

.sigcp-camp-form label {
	font-weight: 600;
	color: #30445c;
	font-size: .84rem
}

.sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
	max-width: 100%;
	border-color: #d8e2ec;
	border-radius: 7px
}

	.sigcp-camp-form input:focus, .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
		border-color: #5a83ab;
		box-shadow: 0 0 0 3px rgba(23,59,97,.1)
	}

.sigcp-camp-details {
	line-height: 1.7
}

.sigcp-camp-footer {
	margin-top: 16px
}

@media(max-width:768px) {
	.sigcp-camp-header {
		align-items: stretch
	}

	.sigcp-camp-header-actions {
		width: 100%
	}

	.sigcp-camp-table {
		min-width: 780px
	}
}
/* SIGCP PersonaCampana — capa visual aditiva, sin cambios de lógica. */
.sigcp-camp-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 18px
}

	.sigcp-camp-header h2 {
		margin: 3px 0 7px;
		color: #142e4c;
		font-size: 1.8rem;
		font-weight: 700
	}

	.sigcp-camp-header p {
		margin: 0;
		color: #64748b
	}

.sigcp-camp-eyebrow {
	display: block;
	font-size: .77rem;
	letter-spacing: .07em;
	font-weight: 700;
	color: #64748b
}

.sigcp-camp-header-actions, .sigcp-camp-footer, .sigcp-camp-links {
	display: flex;
	gap: 9px;
	align-items: center;
	flex-wrap: wrap
}

.sigcp-camp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	border-radius: 7px;
	border: 1px solid transparent;
	text-decoration: none !important;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: background .15s,border-color .15s,color .15s
}

.sigcp-camp-btn-primary {
	background: #142e4c;
	color: #fff !important;
	border-color: #142e4c
}

	.sigcp-camp-btn-primary:hover {
		background: #20466c;
		border-color: #20466c
	}

.sigcp-camp-btn-secondary, .sigcp-camp-btn-outline {
	background: #fff;
	color: #294766 !important;
	border-color: #aab9ca
}

	.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
		background: #edf4fa
	}

.sigcp-camp-btn-danger {
	background: #fff;
	color: #b42332 !important;
	border-color: #dc9ca5
}

	.sigcp-camp-btn-danger:hover {
		background: #b42332;
		color: #fff !important
	}

.sigcp-camp-btn:focus-visible {
	outline: 3px solid #80b9f4;
	outline-offset: 2px
}

.sigcp-camp-card {
	margin-bottom: 22px
}

.sigcp-camp-table-wrap {
	width: 100%;
	overflow-x: auto
}

.sigcp-camp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .875rem
}

	.sigcp-camp-table thead th {
		background: #142e4c;
		color: #fff;
		font-weight: 600;
		font-size: .78rem;
		letter-spacing: .02em;
		padding: 14px 15px;
		text-align: left;
		white-space: nowrap
	}

	.sigcp-camp-table tbody td {
		padding: 13px 15px;
		border-bottom: 1px solid #e1e7ef;
		vertical-align: middle;
		overflow-wrap: anywhere
	}

	.sigcp-camp-table tbody tr:nth-child(even) {
		background: #f8fafc
	}

	.sigcp-camp-table tbody tr:hover {
		background: #edf4fa
	}

	.sigcp-camp-table tbody tr:last-child td {
		border-bottom: 0
	}

	.sigcp-camp-table td:last-child {
		white-space: nowrap
	}

.sigcp-camp-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	padding: 5px 10px;
	font-size: .75rem;
	font-weight: 600;
	white-space: nowrap
}

	.sigcp-camp-status:before {
		content: '';
		height: 7px;
		width: 7px;
		background: currentColor;
		border-radius: 50%
	}

.sigcp-camp-status-active {
	background: #e6f4ea;
	color: #17683a
}

.sigcp-camp-status-history {
	background: #edf0f4;
	color: #596779
}

.sigcp-camp-form label {
	font-weight: 600;
	color: #30445c;
	font-size: .84rem
}

.sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
	max-width: 100%;
	border-color: #d8e2ec;
	border-radius: 7px
}

	.sigcp-camp-form input:focus, .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
		border-color: #5a83ab;
		box-shadow: 0 0 0 3px rgba(23,59,97,.1)
	}

.sigcp-camp-details {
	line-height: 1.7
}

.sigcp-camp-footer {
	margin-top: 16px
}

@media(max-width:768px) {
	.sigcp-camp-header {
		align-items: stretch
	}

	.sigcp-camp-header-actions {
		width: 100%
	}

	.sigcp-camp-table {
		min-width: 780px
	}
}

/* Ajustes corporativos SM — acotados a PersonaCampana */
.sigcp-camp-eyebrow {
	color: #087b86;
	font-size: .75rem;
	letter-spacing: .08em;
	font-weight: 700
}

.sigcp-camp-btn {
	min-height: 36px;
	padding: 7px 13px;
	font-size: .875rem;
	border-radius: 6px
}

.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
	background: #e8f0f8;
	color: #142e4c !important;
	border-color: #829db9;
	box-shadow: 0 2px 6px rgba(20,46,76,.10)
}

.sigcp-camp-btn-secondary:focus-visible, .sigcp-camp-btn-outline:focus-visible {
	outline: 2px solid #2b638e;
	outline-offset: 2px
}

.sigcp-camp-table {
	font-size: .875rem;
	line-height: 1.5
}

	.sigcp-camp-table thead th {
		font-size: .8125rem;
		padding: 12px 14px
	}

		.sigcp-camp-table thead th:first-child {
			border-top-left-radius: 8px
		}

		.sigcp-camp-table thead th:last-child {
			border-top-right-radius: 8px
		}

	.sigcp-camp-table tbody td {
		padding: 12px 14px;
		line-height: 1.55
	}

.sigcp-camp-details dl.row dt, .sigcp-camp-details dl.row dd {
	line-height: 1.6;
	margin-bottom: 10px
}

.sigcp-camp-form .form-control, .sigcp-camp-form .form-select, .sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
	font-size: .875rem;
	line-height: 1.5;
	border: 1px solid #cdd9e6;
	border-radius: 6px;
	box-shadow: none
}

	.sigcp-camp-form .form-control:focus, .sigcp-camp-form .form-select:focus, .sigcp-camp-form input:focus:not([type=checkbox]):not([type=radio]), .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
		border-color: #235b89;
		outline: 0;
		box-shadow: 0 0 0 3px rgba(35,91,137,.16)
	}

.sigcp-camp-modal[hidden] {
	display: none !important
}

.sigcp-camp-modal {
	position: fixed;
	inset: 0;
	z-index: 1060;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(12,27,46,.62)
}

.sigcp-camp-modal-dialog {
	background: #fff;
	border-radius: 10px;
	width: min(100%,530px);
	box-shadow: 0 16px 52px rgba(0,0,0,.25);
	overflow: hidden
}

.sigcp-camp-modal-heading {
	padding: 18px 20px;
	border-bottom: 1px solid #e1e7ef;
	color: #142e4c;
	font-size: 1.05rem;
	font-weight: 700
}

.sigcp-camp-modal-body {
	padding: 20px;
	font-size: .875rem;
	line-height: 1.65;
	color: #263c55
}

.sigcp-camp-modal-actions {
	padding: 14px 20px;
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	border-top: 1px solid #e1e7ef
}

.sigcp-camp-btn:disabled {
	opacity: .5;
	cursor: not-allowed;
	box-shadow: none
}
/* SIGCP PersonaCampana — capa visual aditiva, sin cambios de lógica. */
.sigcp-camp-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 18px
}

	.sigcp-camp-header h2 {
		margin: 3px 0 7px;
		color: #142e4c;
		font-size: 1.8rem;
		font-weight: 700
	}

	.sigcp-camp-header p {
		margin: 0;
		color: #64748b
	}

.sigcp-camp-eyebrow {
	display: block;
	font-size: .77rem;
	letter-spacing: .07em;
	font-weight: 700;
	color: #64748b
}

.sigcp-camp-header-actions, .sigcp-camp-footer, .sigcp-camp-links {
	display: flex;
	gap: 9px;
	align-items: center;
	flex-wrap: wrap
}

.sigcp-camp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	border-radius: 7px;
	border: 1px solid transparent;
	text-decoration: none !important;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: background .15s,border-color .15s,color .15s
}

.sigcp-camp-btn-primary {
	background: #142e4c;
	color: #fff !important;
	border-color: #142e4c
}

	.sigcp-camp-btn-primary:hover {
		background: #20466c;
		border-color: #20466c
	}

.sigcp-camp-btn-secondary, .sigcp-camp-btn-outline {
	background: #fff;
	color: #294766 !important;
	border-color: #aab9ca
}

	.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
		background: #edf4fa
	}

.sigcp-camp-btn-danger {
	background: #fff;
	color: #b42332 !important;
	border-color: #dc9ca5
}

	.sigcp-camp-btn-danger:hover {
		background: #b42332;
		color: #fff !important
	}

.sigcp-camp-btn:focus-visible {
	outline: 3px solid #80b9f4;
	outline-offset: 2px
}

.sigcp-camp-card {
	margin-bottom: 22px
}

.sigcp-camp-table-wrap {
	width: 100%;
	overflow-x: auto
}

.sigcp-camp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .875rem
}

	.sigcp-camp-table thead th {
		background: #142e4c;
		color: #fff;
		font-weight: 600;
		font-size: .78rem;
		letter-spacing: .02em;
		padding: 14px 15px;
		text-align: left;
		white-space: nowrap
	}

	.sigcp-camp-table tbody td {
		padding: 13px 15px;
		border-bottom: 1px solid #e1e7ef;
		vertical-align: middle;
		overflow-wrap: anywhere
	}

	.sigcp-camp-table tbody tr:nth-child(even) {
		background: #f8fafc
	}

	.sigcp-camp-table tbody tr:hover {
		background: #edf4fa
	}

	.sigcp-camp-table tbody tr:last-child td {
		border-bottom: 0
	}

	.sigcp-camp-table td:last-child {
		white-space: nowrap
	}

.sigcp-camp-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	padding: 5px 10px;
	font-size: .75rem;
	font-weight: 600;
	white-space: nowrap
}

	.sigcp-camp-status:before {
		content: '';
		height: 7px;
		width: 7px;
		background: currentColor;
		border-radius: 50%
	}

.sigcp-camp-status-active {
	background: #e6f4ea;
	color: #17683a
}

.sigcp-camp-status-history {
	background: #edf0f4;
	color: #596779
}

.sigcp-camp-form label {
	font-weight: 600;
	color: #30445c;
	font-size: .84rem
}

.sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
	max-width: 100%;
	border-color: #d8e2ec;
	border-radius: 7px
}

	.sigcp-camp-form input:focus, .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
		border-color: #5a83ab;
		box-shadow: 0 0 0 3px rgba(23,59,97,.1)
	}

.sigcp-camp-details {
	line-height: 1.7
}

.sigcp-camp-footer {
	margin-top: 16px
}

@media(max-width:768px) {
	.sigcp-camp-header {
		align-items: stretch
	}

	.sigcp-camp-header-actions {
		width: 100%
	}

	.sigcp-camp-table {
		min-width: 780px
	}
}

/* Ajustes corporativos SM — acotados a PersonaCampana */
.sigcp-camp-eyebrow {
	color: #087b86;
	font-size: .75rem;
	letter-spacing: .08em;
	font-weight: 700
}

.sigcp-camp-btn {
	min-height: 36px;
	padding: 7px 13px;
	font-size: .875rem;
	border-radius: 6px
}

.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
	background: #e8f0f8;
	color: #142e4c !important;
	border-color: #829db9;
	box-shadow: 0 2px 6px rgba(20,46,76,.10)
}

.sigcp-camp-btn-secondary:focus-visible, .sigcp-camp-btn-outline:focus-visible {
	outline: 2px solid #2b638e;
	outline-offset: 2px
}

.sigcp-camp-table {
	font-size: .875rem;
	line-height: 1.5
}

	.sigcp-camp-table thead th {
		font-size: .8125rem;
		padding: 12px 14px
	}

		.sigcp-camp-table thead th:first-child {
			border-top-left-radius: 8px
		}

		.sigcp-camp-table thead th:last-child {
			border-top-right-radius: 8px
		}

	.sigcp-camp-table tbody td {
		padding: 12px 14px;
		line-height: 1.55
	}

.sigcp-camp-details dl.row dt, .sigcp-camp-details dl.row dd {
	line-height: 1.6;
	margin-bottom: 10px
}

.sigcp-camp-form .form-control, .sigcp-camp-form .form-select, .sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
	font-size: .875rem;
	line-height: 1.5;
	border: 1px solid #cdd9e6;
	border-radius: 6px;
	box-shadow: none
}

	.sigcp-camp-form .form-control:focus, .sigcp-camp-form .form-select:focus, .sigcp-camp-form input:focus:not([type=checkbox]):not([type=radio]), .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
		border-color: #235b89;
		outline: 0;
		box-shadow: 0 0 0 3px rgba(35,91,137,.16)
	}

.sigcp-camp-modal[hidden] {
	display: none !important
}

.sigcp-camp-modal {
	position: fixed;
	inset: 0;
	z-index: 1060;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(12,27,46,.62)
}

.sigcp-camp-modal-dialog {
	background: #fff;
	border-radius: 10px;
	width: min(100%,530px);
	box-shadow: 0 16px 52px rgba(0,0,0,.25);
	overflow: hidden
}

.sigcp-camp-modal-heading {
	padding: 18px 20px;
	border-bottom: 1px solid #e1e7ef;
	color: #142e4c;
	font-size: 1.05rem;
	font-weight: 700
}

.sigcp-camp-modal-body {
	padding: 20px;
	font-size: .875rem;
	line-height: 1.65;
	color: #263c55
}

.sigcp-camp-modal-actions {
	padding: 14px 20px;
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	border-top: 1px solid #e1e7ef
}

.sigcp-camp-btn:disabled {
	opacity: .5;
	cursor: not-allowed;
	box-shadow: none
}

/* Revision visual SM 02: detalle, botones y confirmacion de baja */
.sigcp-camp-details dl.row {
	display: grid;
	grid-template-columns: minmax(210px,25%) minmax(0,1fr);
	margin: 0;
	gap: 0 16px
}

	.sigcp-camp-details dl.row dt, .sigcp-camp-details dl.row dd {
		width: auto;
		max-width: none;
		flex: none;
		padding: 12px 10px;
		margin: 0;
		min-height: 43px;
		line-height: 1.6;
		border-bottom: 1px solid #e8edf3;
		font-size: .875rem
	}

		.sigcp-camp-details dl.row dt:nth-last-of-type(1), .sigcp-camp-details dl.row dd:last-child {
			border-bottom: 0
		}

.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
	background: #6c757d !important;
	border-color: #6c757d !important;
	color: #fff !important;
	box-shadow: none
}

.sigcp-camp-btn-secondary:active, .sigcp-camp-btn-outline:active {
	background: #596168 !important;
	color: #fff !important
}

.sigcp-camp-modal-dialog {
	border-top: 3px solid #142e4c
}

.sigcp-camp-modal-heading {
	display: flex;
	align-items: center;
	justify-content: space-between
}

.sigcp-camp-modal-summary {
	background: #f3f6fa;
	border: 1px solid #dce5ef;
	border-radius: 7px;
	padding: 14px 16px;
	margin: 14px 0
}

	.sigcp-camp-modal-summary dl {
		display: grid;
		grid-template-columns: 110px minmax(0,1fr);
		gap: 8px 12px;
		margin: 0
	}

	.sigcp-camp-modal-summary dt {
		font-weight: 600;
		color: #5a6d82
	}

	.sigcp-camp-modal-summary dd {
		margin: 0;
		overflow-wrap: anywhere;
		color: #142e4c
	}

.sigcp-camp-modal-warning {
	font-size: .82rem;
	color: #946018;
	margin: 12px 0
}

.sigcp-camp-modal-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	line-height: 1.55
}

	.sigcp-camp-modal-check input {
		accent-color: #235b89;
		width: 17px;
		height: 17px;
		flex: 0 0 17px;
		margin-top: 3px
	}

.sigcp-camp-btn-danger-solid {
	background: #bb2636 !important;
	border-color: #bb2636 !important;
	color: #fff !important
}

	.sigcp-camp-btn-danger-solid:hover:not(:disabled) {
		background: #971b2b !important;
		border-color: #971b2b !important
	}

	.sigcp-camp-btn-danger-solid:disabled {
		background: #fff !important;
		color: #bb2636 !important;
		border-color: #edbdc4 !important;
		opacity: .6
	}

@media(max-width:600px) {
	.sigcp-camp-details dl.row {
		grid-template-columns: 1fr;
		gap: 0
	}

		.sigcp-camp-details dl.row dt {
			border-bottom: 0;
			padding-bottom: 0;
			min-height: 0
		}

		.sigcp-camp-details dl.row dd {
			padding-top: 2px
		}

	.sigcp-camp-modal-summary dl {
		grid-template-columns: 1fr;
		gap: 3px
	}
}

/*
 SIGCP — F1-I5-S7-005
 Identidad visual corporativa
*/

:root {
	--sigcp-navy: #142B46;
	--sigcp-navy-light: #1D3C5C;
	--sigcp-teal: #168B91;
	--sigcp-background: #F3F6FA;
	--sigcp-white: #FFFFFF;
	--sigcp-text: #26384C;
	--sigcp-muted: #708297;
	--sigcp-border: #DCE5EE;
}

body.sigcp-body {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	background: var(--sigcp-background);
	color: var(--sigcp-text);
}

/* ENCABEZADO */

.sigcp-topbar {
	position: sticky;
	top: 0;
	z-index: 1030;
	min-height: 70px;
	padding: 10px 22px;
	display: flex;
	align-items: center;
	gap: 18px;
	background: var(--sigcp-navy);
	color: var(--sigcp-white);
	box-shadow: 0 2px 12px rgba(20,43,70,.14);
}

.sigcp-brand {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

	.sigcp-brand a {
		color: #FFFFFF;
		font-size: 1.35rem;
		font-weight: 800;
		letter-spacing: .08em;
		text-decoration: none;
	}

	.sigcp-brand span {
		color: #C3D3E3;
		font-size: .75rem;
	}

.sigcp-account {
	margin-left: auto;
}

	.sigcp-account a {
		color: #FFFFFF !important;
	}

		.sigcp-account a:hover {
			color: #6DE0DF !important;
		}

	.sigcp-account ul {
		margin: 0;
		list-style: none;
	}

/* ESTRUCTURA */

.sigcp-shell {
	display: flex;
	min-height: calc(100vh - 70px);
}

.sigcp-sidebar {
	width: 258px;
	flex: 0 0 258px;
	padding: 18px 12px;
	background: #FFFFFF;
	border-right: 1px solid var(--sigcp-border);
}

.sigcp-main {
	flex: 1;
	min-width: 0;
}

.sigcp-content {
	max-width: 1600px;
	margin: 0 auto;
	padding: 28px 30px;
}

/* MENÚ */

.sigcp-menu-label {
	padding: 18px 12px 7px;
	color: var(--sigcp-muted);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.sigcp-nav-link {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 2px 0;
	padding: 11px 12px;
	border-radius: 9px;
	color: #30465D;
	font-weight: 500;
	text-decoration: none;
	transition: background .15s, color .15s;
}

	.sigcp-nav-link:hover,
	.sigcp-nav-link:focus {
		background: #E8F5F6;
		color: #126F77;
		text-decoration: none;
	}

	.sigcp-nav-link.activo {
		background: #DFF1F2;
		color: #126F77;
		font-weight: 700;
		border-left: 3px solid var(--sigcp-teal);
	}

.sigcp-nav-icon {
	width: 20px;
	text-align: center;
	font-size: 18px;
}

/* CONTENIDO */

.sigcp-content .panel,
.sigcp-content .card {
	background: #FFFFFF;
	border: 1px solid var(--sigcp-border);
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(20,43,70,.05);
}

.sigcp-content .btn-primary {
	background: var(--sigcp-navy-light);
	border-color: var(--sigcp-navy-light);
}

	.sigcp-content .btn-primary:hover {
		background: var(--sigcp-navy);
		border-color: var(--sigcp-navy);
	}

.sigcp-content input,
.sigcp-content select,
.sigcp-content textarea {
	max-width: 100%;
}

.sigcp-content .table {
	background: #FFFFFF;
}

	.sigcp-content .table thead {
		background: #EDF2F7;
	}

/* PIE DE PÁGINA */

.sigcp-footer {
	margin-top: 40px;
	padding: 18px 0;
	color: var(--sigcp-muted);
	border-top: 1px solid var(--sigcp-border);
	font-size: .85rem;
}

/* RESPONSIVE */

.sigcp-menu-toggle {
	display: none;
	padding: 5px 12px;
	background: transparent;
	color: #FFFFFF;
	border: 1px solid rgba(255,255,255,.4);
	border-radius: 6px;
	font-size: 1.25rem;
}

@media (max-width: 850px) {

	.sigcp-topbar {
		flex-wrap: wrap;
	}

	.sigcp-brand span {
		max-width: 210px;
	}

	.sigcp-menu-toggle {
		display: block;
		margin-left: auto;
	}

	.sigcp-account {
		width: 100%;
		margin-left: 0;
	}

	.sigcp-sidebar {
		display: none;
		position: absolute;
		top: 70px;
		left: 0;
		z-index: 1020;
		max-height: calc(100vh - 70px);
		overflow: auto;
		box-shadow: 4px 10px 20px rgba(20,43,70,.15);
	}

		.sigcp-sidebar.sigcp-open {
			display: block;
		}

	.sigcp-content {
		padding: 18px 14px;
	}
}


/*
 SIGCP — F1-I5-S7-013
 Navegación corporativa jerárquica
*/

.sigcp-nav-group {
	margin: 3px 0;
}

.sigcp-nav-group-title {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border-radius: 9px;
	color: #30465d;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	transition: background .15s ease;
}

/* Ocultar marcador nativo del elemento details */

.sigcp-nav-group-title {
	list-style-type: none;
}

	/* El indicador visual se controla con
   la clase sigcp-nav-chevron */

	.sigcp-nav-group-title:hover,
	.sigcp-nav-group-title:focus-visible {
		background: #e8f5f6;
		color: #126f77;
	}

.sigcp-nav-group[open] > .sigcp-nav-group-title {
	background: #f0f6f9;
	color: #142b46;
}

.sigcp-nav-group-title > span:nth-child(2) {
	flex: 1;
	min-width: 0;
}

.sigcp-nav-chevron {
	width: 8px;
	height: 8px;
	border-right: 2px solid #708297;
	border-bottom: 2px solid #708297;
	transform: rotate(45deg);
	transition: transform .15s ease;
}

.sigcp-nav-group[open] .sigcp-nav-chevron {
	transform: rotate(225deg);
}

.sigcp-nav-submenu {
	margin: 3px 0 8px 20px;
	padding-left: 10px;
	border-left: 1px solid #dce5ee;
}

	.sigcp-nav-submenu .sigcp-nav-link {
		font-size: 13px;
		padding: 10px 12px;
	}

.sigcp-nav-hint {
	margin: 8px 6px;
	padding: 9px 10px;
	border-radius: 7px;
	background: #f3f6fa;
	color: #708297;
	font-size: 11px;
	line-height: 1.6;
}

.sigcp-nav-group-title:focus-visible,
.sigcp-nav-submenu a:focus-visible {
	outline: 2px solid #168b91;
	outline-offset: 2px;
}

@media (max-width: 850px) {
	.sigcp-nav-group-title {
		padding: 13px 12px;
	}

	.sigcp-nav-submenu .sigcp-nav-link {
		padding: 12px;
	}
}
/* =====================================================
   SIGCP - F1-I5-S8-003E.8E
   ESTANDARIZACIÓN CORPORATIVA DE TABLAS
   ===================================================== */

/* SIGCP - Sistema de diseño corporativo
   Tablas, estados y acciones
   Versión F1-I5-S8-003E.8E */

:root {
	--sigcp-primary: #142e4c;
	--sigcp-primary-hover: #20466c;
	--sigcp-border: #e1e7ef;
	--sigcp-background: #f4f7fb;
	--sigcp-muted: #64748b;
	--sigcp-row-hover: #edf4fa;
}

/* Contenedor de tabla */

.sigcp-table-container {
	border: 1px solid var(--sigcp-border);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.sigcp-table-scroll {
	width: 100%;
	overflow-x: auto;
}

/* Tabla corporativa */

.sigcp-table {
	width: 100%;
	margin-bottom: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.875rem;
}

	.sigcp-table thead th {
		background-color: var(--sigcp-primary);
		color: #fff;
		font-size: 0.78rem;
		font-weight: 600;
		letter-spacing: 0.025em;
		padding: 14px 15px;
		border: 0;
		white-space: nowrap;
		vertical-align: middle;
	}

	.sigcp-table tbody td {
		padding: 13px 15px;
		color: #24364a;
		border-bottom: 1px solid var(--sigcp-border);
		vertical-align: middle;
		background-color: #fff;
	}

	.sigcp-table tbody tr:nth-child(even) td {
		background-color: #f8fafc;
	}

	.sigcp-table tbody tr:hover td {
		background-color: var(--sigcp-row-hover);
	}

	.sigcp-table tbody tr:last-child td {
		border-bottom: 0;
	}

	.sigcp-table .sigcp-cell-id {
		font-weight: 600;
		color: var(--sigcp-muted);
		font-variant-numeric: tabular-nums;
	}

	.sigcp-table .sigcp-cell-primary {
		font-weight: 600;
		color: var(--sigcp-primary);
	}

	.sigcp-table .sigcp-cell-actions {
		text-align: right;
		white-space: nowrap;
	}

/* Estados */

.sigcp-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

	.sigcp-status::before {
		content: "";
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: currentColor;
	}

.sigcp-status-active {
	background: #e6f4ea;
	color: #17683a;
}

.sigcp-status-inactive {
	background: #edf0f4;
	color: #596779;
}

.sigcp-status-pending {
	background: #fff3d6;
	color: #875a00;
}

.sigcp-status-suspended {
	background: #fff0e5;
	color: #a24a13;
}

.sigcp-status-retired {
	background: #f0e9eb;
	color: #87434d;
}

/* Botones de acciones en tablas */

.sigcp-table-actions {
	display: inline-flex;
	justify-content: flex-end;
	align-items: center;
	gap: 7px;
}

.sigcp-btn-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 11px;
	border-radius: 6px;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.sigcp-btn-primary {
	background: var(--sigcp-primary);
	color: #fff;
	border: 1px solid var(--sigcp-primary);
}

	.sigcp-btn-primary:hover {
		background: var(--sigcp-primary-hover);
		color: #fff;
	}

.sigcp-btn-danger {
	background: #fff;
	color: #b42332;
	border: 1px solid #dc9ca5;
}

	.sigcp-btn-danger:hover {
		background: #b42332;
		border-color: #b42332;
		color: #fff;
	}

.sigcp-btn-action:focus-visible {
	outline: 3px solid #80b9f4;
	outline-offset: 2px;
}

/* Pie de tabla */

.sigcp-table-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #f8fafc;
	border-top: 1px solid var(--sigcp-border);
	color: var(--sigcp-muted);
	font-size: 0.82rem;
}

/* Adaptación a pantallas pequeñas */

@media (max-width: 768px) {
	.sigcp-table {
		min-width: 850px;
	}

		.sigcp-table thead th,
		.sigcp-table tbody td {
			padding: 11px 12px;
		}
}


/* ===================================================
   SIGCP - F1-I5-S8-003E.8H
   TARJETAS CORPORATIVAS
   =================================================== */

:root {
	--sigcp-card-accent: #173b61;
	--sigcp-card-border: #e3eaf2;
	--sigcp-card-muted: #687b90;
}

/* Contenedor principal */

.sigcp-card {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--sigcp-card-border);
	border-radius: 12px;
	box-shadow: 0 3px 8px rgba(15, 38, 65, 0.025), 0 12px 28px rgba(15, 38, 65, 0.035);
	overflow: hidden;
	margin-bottom: 22px;
}

	/* Acento institucional superior */

	.sigcp-card::before {
		content: "";
		display: block;
		height: 3px;
		background: var(--sigcp-card-accent);
	}

/* Encabezado */

.sigcp-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 19px 22px;
	border-bottom: 1px solid #edf1f6;
	background: #ffffff;
}

.sigcp-card-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.sigcp-card-icon {
	width: 39px;
	height: 39px;
	flex-shrink: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background: #eaf0f7;
	color: #173b61;
	font-size: 17px;
}

.sigcp-card-title {
	margin: 0;
	color: #183451;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}

.sigcp-card-subtitle {
	margin: 3px 0 0;
	color: var(--sigcp-card-muted);
	font-size: 0.8rem;
	line-height: 1.5;
}

/* Contenido */

.sigcp-card-body {
	padding: 22px;
}

/* Pie */

.sigcp-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 15px 22px;
	border-top: 1px solid #edf1f6;
	background: #fbfcfe;
	font-size: 0.85rem;
}

/* Insignia de contador */

.sigcp-card-counter {
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	border-radius: 999px;
	background: #edf2f8;
	color: #274768;
	font-size: 0.75rem;
	font-weight: 700;
	white-space: nowrap;
}

/* Tarjetas pequeñas de indicadores */

.sigcp-stat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.sigcp-stat {
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #e7edf4;
	border-radius: 9px;
}

.sigcp-stat-value {
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.2;
	color: #173b61;
	font-variant-numeric: tabular-nums;
}

.sigcp-stat-label {
	margin-top: 5px;
	color: #64748b;
	font-size: 0.77rem;
}

/* Ajustes de formularios dentro de tarjetas */

.sigcp-card .form-label {
	color: #30445c;
	font-size: 0.83rem;
	font-weight: 600;
}

.sigcp-card .form-control,
.sigcp-card .form-select {
	border-color: #d8e2ec;
	border-radius: 7px;
	min-height: 38px;
}

	.sigcp-card .form-control:focus,
	.sigcp-card .form-select:focus {
		border-color: #5a83ab;
		box-shadow: 0 0 0 3px rgba(23, 59, 97, 0.10);
	}

/* Responsive */

@media (max-width: 768px) {
	.sigcp-card-header,
	.sigcp-card-body,
	.sigcp-card-footer {
		padding: 16px;
	}

	.sigcp-stat-grid {
		grid-template-columns: 1fr;
	}
}


/* SIGCP - F1-I5-S8-003E.8I
   Cuatro indicadores corporativos */

.sigcp-stat-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 992px) {
	.sigcp-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 576px) {
	.sigcp-stat-grid {
		grid-template-columns: 1fr;
	}
}

/* SIGCP PersonaCampana — capa visual aditiva, sin cambios de lógica. */
.sigcp-camp-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 18px
}

	.sigcp-camp-header h2 {
		margin: 3px 0 7px;
		color: #142e4c;
		font-size: 1.8rem;
		font-weight: 700
	}

	.sigcp-camp-header p {
		margin: 0;
		color: #64748b
	}

.sigcp-camp-eyebrow {
	display: block;
	font-size: .77rem;
	letter-spacing: .07em;
	font-weight: 700;
	color: #64748b
}

.sigcp-camp-header-actions, .sigcp-camp-footer, .sigcp-camp-links {
	display: flex;
	gap: 9px;
	align-items: center;
	flex-wrap: wrap
}

.sigcp-camp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 14px;
	border-radius: 7px;
	border: 1px solid transparent;
	text-decoration: none !important;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: background .15s,border-color .15s,color .15s
}

.sigcp-camp-btn-primary {
	background: #142e4c;
	color: #fff !important;
	border-color: #142e4c
}

	.sigcp-camp-btn-primary:hover {
		background: #20466c;
		border-color: #20466c
	}

.sigcp-camp-btn-secondary, .sigcp-camp-btn-outline {
	background: #fff;
	color: #294766 !important;
	border-color: #aab9ca
}

	.sigcp-camp-btn-secondary:hover, .sigcp-camp-btn-outline:hover {
		background: #edf4fa
	}

.sigcp-camp-btn-danger {
	background: #fff;
	color: #b42332 !important;
	border-color: #dc9ca5
}

	.sigcp-camp-btn-danger:hover {
		background: #b42332;
		color: #fff !important
	}

.sigcp-camp-btn:focus-visible {
	outline: 3px solid #80b9f4;
	outline-offset: 2px
}

.sigcp-camp-card {
	margin-bottom: 22px
}

.sigcp-camp-table-wrap {
	width: 100%;
	overflow-x: auto
}

.sigcp-camp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .875rem
}

	.sigcp-camp-table thead th {
		background: #142e4c;
		color: #fff;
		font-weight: 600;
		font-size: .78rem;
		letter-spacing: .02em;
		padding: 14px 15px;
		text-align: left;
		white-space: nowrap
	}

	.sigcp-camp-table tbody td {
		padding: 13px 15px;
		border-bottom: 1px solid #e1e7ef;
		vertical-align: middle;
		overflow-wrap: anywhere
	}

	.sigcp-camp-table tbody tr:nth-child(even) {
		background: #f8fafc
	}

	.sigcp-camp-table tbody tr:hover {
		background: #edf4fa
	}

	.sigcp-camp-table tbody tr:last-child td {
		border-bottom: 0
	}

	.sigcp-camp-table td:last-child {
		white-space: nowrap
	}

.sigcp-camp-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	padding: 5px 10px;
	font-size: .75rem;
	font-weight: 600;
	white-space: nowrap
}

	.sigcp-camp-status:before {
		content: '';
		height: 7px;
		width: 7px;
		background: currentColor;
		border-radius: 50%
	}

.sigcp-camp-status-active {
	background: #e6f4ea;
	color: #17683a
}

.sigcp-camp-status-history {
	background: #edf0f4;
	color: #596779
}

.sigcp-camp-form label {
	font-weight: 600;
	color: #30445c;
	font-size: .84rem
}

.sigcp-camp-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .sigcp-camp-form select, .sigcp-camp-form textarea {
	max-width: 100%;
	border-color: #d8e2ec;
	border-radius: 7px
}

	.sigcp-camp-form input:focus, .sigcp-camp-form select:focus, .sigcp-camp-form textarea:focus {
		border-color: #5a83ab;
		box-shadow: 0 0 0 3px rgba(23,59,97,.1)
	}

.sigcp-camp-details {
	line-height: 1.7
}

.sigcp-camp-footer {
	margin-top: 16px
}

@media(max-width:768px) {
	.sigcp-camp-header {
		align-items: stretch
	}

	.sigcp-camp-header-actions {
		width: 100%
	}

	.sigcp-camp-table {
		min-width: 780px
	}
}


/* SIGCP PersonaCampana — filas informativas SM, opt-in por vista. */
.sigcp-camp-info-sm {
	margin: 0;
	width: 100%
}

	.sigcp-camp-info-sm .sigcp-camp-info-row {
		display: grid;
		grid-template-columns: minmax(180px,25%) minmax(0,1fr);
		gap: 16px;
		align-items: start;
		padding: 13px 0;
		border-bottom: 1px solid #e8edf3;
		line-height: 1.5
	}

		.sigcp-camp-info-sm .sigcp-camp-info-row:first-child {
			padding-top: 0
		}

		.sigcp-camp-info-sm .sigcp-camp-info-row:last-child {
			padding-bottom: 0;
			border-bottom: 0
		}

	.sigcp-camp-info-sm .sigcp-camp-info-label {
		font-weight: 700;
		color: #183451
	}

	.sigcp-camp-info-sm .sigcp-camp-info-value {
		min-width: 0;
		overflow-wrap: anywhere;
		color: #26384c
	}

@media(max-width:576px) {
	.sigcp-camp-info-sm .sigcp-camp-info-row {
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 12px 0
	}
}
