/* Portal de clientes. Solo presentación; la lógica vive en andwos-core. */

.aw-portal {
	font-family: var(--aw-font-body);
	color: var(--aw-ink);
	max-width: 1000px;
	margin-inline: auto;
}
.aw-portal h2,
.aw-portal h3,
.aw-portal h4 {
	font-family: var(--aw-font-heading);
	color: var(--aw-ink);
	line-height: 1.25;
	margin: 0;
}
.aw-portal h4 {
	font-size: 1rem;
	margin: 0 0 0.75rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--aw-gold);
}

/* Acceso */
.aw-portal--login {
	max-width: 440px;
	background: #fff;
	border: 1px solid var(--aw-line);
	border-radius: var(--aw-radius);
	padding: 2rem;
}
.aw-portal--login form p {
	margin: 0 0 1rem;
}
.aw-portal--login label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.35rem;
}
.aw-portal input[type="text"],
.aw-portal input[type="password"],
.aw-portal input[type="email"],
.aw-portal select,
.aw-portal textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	color: var(--aw-ink);
	background: #fff;
	border: 1.5px solid var(--aw-line);
	border-radius: var(--aw-radius-sm);
	padding: 0.65rem 0.8rem;
}
.aw-portal input:focus,
.aw-portal select:focus,
.aw-portal textarea:focus {
	outline: none;
	border-color: var(--aw-anthracite);
	box-shadow: var(--aw-focus);
}
.aw-portal input[type="submit"],
.aw-portal .button-primary {
	font-family: var(--aw-font-heading);
	font-weight: 700;
	background: var(--aw-gold);
	color: var(--aw-ink);
	border: 2px solid var(--aw-gold);
	border-radius: var(--aw-radius-sm);
	padding: 0.8rem 1.4rem;
	cursor: pointer;
}
.aw-portal input[type="submit"]:hover {
	background: var(--aw-gold-hover);
	border-color: var(--aw-gold-hover);
}
.aw-portal input[type="submit"]:focus-visible {
	outline: none;
	box-shadow: var(--aw-focus);
}
.aw-portal__olvido a {
	color: var(--aw-anthracite);
	text-decoration: underline;
}

/* Cabecera */
.aw-portal__cab {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
	background: var(--aw-anthracite);
	color: #fff;
	border-radius: var(--aw-radius);
	border-bottom: 4px solid var(--aw-gold);
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.25rem;
}
.aw-portal__cab h2,
.aw-portal__cab p {
	color: #fff;
	margin: 0;
}
.aw-portal__cab p {
	opacity: 0.85;
	font-size: 0.9rem;
}
.aw-portal__salir {
	color: #fff;
	text-decoration: underline;
	font-size: 0.9rem;
}

/* Avisos */
.aw-portal__aviso,
.aw-portal__nota {
	background: var(--aw-surface-soft);
	border-left: 4px solid var(--aw-gold);
	border-radius: var(--aw-radius-sm);
	padding: 0.85rem 1.1rem;
	margin: 0 0 1.25rem;
}
.aw-portal__nota--ok {
	border-left-color: var(--aw-ok);
	color: var(--aw-ok);
	background: #f0faf3;
}
.aw-portal__nota--error {
	border-left-color: var(--aw-error);
	color: var(--aw-error);
	background: #fff4f2;
}

/* Proyecto */
.aw-portal__proy,
.aw-portal__docs {
	background: #fff;
	border: 1px solid var(--aw-line);
	border-radius: var(--aw-radius);
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}
.aw-portal__proy-cab {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1rem;
}
.aw-portal__proy-cab small {
	color: var(--aw-muted);
}
.aw-portal__chip {
	display: inline-block;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	background: var(--aw-surface-soft);
	color: var(--aw-ink);
	border: 1px solid var(--aw-line);
}
.aw-portal__prog {
	height: 12px;
	border-radius: 999px;
	background: var(--aw-surface-soft);
	border: 1px solid var(--aw-line);
	overflow: hidden;
}
.aw-portal__prog span {
	display: block;
	height: 100%;
	background: var(--aw-gold);
	border-radius: 999px;
}
.aw-portal__fechas {
	margin: 0.6rem 0 1.25rem;
	font-size: 0.9rem;
	color: var(--aw-muted);
}
.aw-portal__fechas strong {
	color: var(--aw-ink);
}
.aw-portal__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
@media (max-width: 720px) {
	.aw-portal__cols {
		grid-template-columns: 1fr;
	}
}
.aw-portal__vacio {
	color: var(--aw-muted);
	font-size: 0.9rem;
	margin: 0;
}

/* Línea de tiempo */
.aw-portal__linea {
	list-style: none;
	margin: 0;
	padding: 0 0 0 1rem;
	border-left: 2px solid var(--aw-line);
}
.aw-portal__linea,
.aw-portal__linea li {
	list-style: none !important; /* Divi fuerza listas numeradas */
}
.aw-portal__linea li::marker {
	content: none;
}
.aw-portal__linea li {
	position: relative;
	margin-bottom: 1rem;
	padding-left: 0;
}
.aw-portal__linea li::before {
	content: "";
	position: absolute;
	left: calc(-1rem - 6px);
	top: 0.3rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--aw-gold);
}
.aw-portal__linea time {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--aw-muted);
}
.aw-portal__linea p {
	margin: 0.15rem 0 0;
	font-size: 0.92rem;
}

/* Entregas */
.aw-portal__entrega {
	border: 1.5px solid var(--aw-line);
	border-radius: var(--aw-radius-sm);
	padding: 0.9rem 1rem;
	margin-bottom: 0.75rem;
}
.aw-portal__entrega--pendiente {
	border-color: var(--aw-gold);
	background: #fffaf0;
}
.aw-portal__entrega--aprobada {
	border-color: #b7dfc2;
}
.aw-portal__entrega p {
	margin: 0.4rem 0 0;
	font-size: 0.9rem;
}
.aw-portal__comentario {
	color: var(--aw-muted);
	font-style: italic;
}
.aw-portal__resp label {
	display: block;
	font-size: 0.85rem;
	margin: 0.75rem 0 0.3rem;
	color: var(--aw-muted);
}
.aw-portal__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 0.6rem;
}

/* Material y documentos */
.aw-portal__material {
	border-top: 1px solid var(--aw-line);
	padding-top: 1.25rem;
}
.aw-portal__ayuda {
	font-size: 0.88rem;
	color: var(--aw-muted);
	margin: 0 0 0.75rem;
}
.aw-portal__subir {
	display: grid;
	grid-template-columns: 170px 1.3fr 1fr auto;
	gap: 0.6rem;
	align-items: end;
	margin-bottom: 1rem;
}
.aw-portal__campo {
	min-width: 0;
}
.aw-portal__subir label {
	display: block;
	font-size: 0.82rem;
	font-weight: 500;
	margin-bottom: 0.25rem;
}
@media (max-width: 860px) {
	.aw-portal__subir {
		grid-template-columns: 1fr;
	}
}
.aw-portal__archivos {
	list-style: none;
	margin: 0;
	padding: 0;
}
.aw-portal__archivos li {
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--aw-line);
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	justify-content: space-between;
}
.aw-portal__archivos a {
	color: var(--aw-anthracite);
	font-weight: 600;
	text-decoration: underline;
}
.aw-portal__archivos small {
	color: var(--aw-muted);
}

/* ===== Portal con el estilo del sitio nuevo ===== */
.aw-hero--portal .aw-portal-banda { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; }
.aw-hero--portal .aw-lead { margin-bottom: 0; }
.aw-hero--portal .aw-portal__salir { color: #fff; text-decoration: none; font: 600 0.92rem var(--aw-font-heading); padding: 0.65rem 1.2rem; border: 1.5px solid rgba(254, 252, 248, 0.55); border-radius: 99px; transition: background-color 0.2s ease, border-color 0.2s ease; }
.aw-hero--portal .aw-portal__salir:hover { background: rgba(254, 252, 248, 0.12); border-color: #fff; }
.aw-portal-cuerpo { padding-block: 2.2rem 4rem; }
.aw-portal { max-width: none; }

/* Acceso en dos columnas */
.aw-portal-login { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 900px) { .aw-portal-login { grid-template-columns: 1fr 440px; } }
.aw-sec .aw-portal-info h2 { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 1.2rem; }
.aw-portal-lista { list-style: none !important; margin: 0; padding: 0 !important; display: grid; gap: 0.9rem; }
.aw-portal-lista li { position: relative; padding: 0 0 0 3rem; line-height: 1.45; }
.aw-portal-lista li::before { content: ""; position: absolute; left: 0; top: 0.1rem; width: 2.1rem; height: 2.1rem; border-radius: 12px; background: var(--aw-anthracite) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23f1b82f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 62% no-repeat; }
.aw-portal-lista strong { display: block; font-family: var(--aw-font-heading); }
.aw-portal-lista span { color: var(--aw-muted); font-size: 0.93rem; }
.aw-portal-ayuda { margin: 1.6rem 0 0; color: var(--aw-muted); font-size: 0.93rem; }
.aw-portal-ayuda a { color: var(--aw-anthracite); font-weight: 600; text-underline-offset: 3px; }
.aw-portal--login { max-width: none; border-radius: 20px; padding: 2rem; box-shadow: 0 18px 44px rgba(14, 13, 8, 0.1); border-top: 4px solid var(--aw-gold); }
.aw-portal--login h2 { font-size: 1.4rem; margin-bottom: 0.3rem; }
.aw-portal--login > p { color: var(--aw-muted); margin: 0 0 1.2rem; }
.aw-portal--login .login-submit input[type="submit"] { width: 100%; padding: 0.95rem 1.2rem; }

/* Resumen y aviso de pendientes */
.aw-portal__resumen { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; margin-bottom: 1.2rem; }
.aw-portal__dato { background: #fff; border: 1px solid var(--aw-line); border-top: 3px solid var(--aw-gold); border-radius: 16px; padding: 1rem 1.2rem; }
.aw-portal__dato span { display: block; font: 600 0.74rem var(--aw-font-heading); letter-spacing: 0.06em; text-transform: uppercase; color: var(--aw-muted); }
.aw-portal__dato strong { display: block; margin-top: 0.2rem; font: 800 1.9rem/1.1 var(--aw-font-heading); color: var(--aw-anthracite); }
.aw-portal__dato--alerta { background: var(--aw-gold); border-color: var(--aw-gold); }
.aw-portal__dato--alerta span, .aw-portal__dato--alerta strong { color: var(--aw-ink); }
.aw-portal__atencion { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.6rem; padding: 1rem 1.3rem; border-radius: 16px; background: var(--aw-anthracite); color: #e9e6de; text-decoration: none; line-height: 1.45; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.aw-portal__atencion:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(14, 13, 8, 0.25); }
.aw-portal__atencion strong { display: block; color: #fff; font-family: var(--aw-font-heading); }
.aw-portal__atencion > span:nth-child(2) { flex: 1; }
.aw-portal__ir { font: 700 0.9rem var(--aw-font-heading); color: var(--aw-gold); white-space: nowrap; }
.aw-portal__punto { flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--aw-gold); animation: aw-portal-latido 1.8s ease-out infinite; }

/* Proyectos */
.aw-portal__proy, .aw-portal__docs { border-radius: 20px; box-shadow: 0 10px 30px rgba(14, 13, 8, 0.05); }
.aw-portal__prog { height: 12px; }
.aw-portal__prog span { background: linear-gradient(90deg, var(--aw-gold), #f6c75a); transform-origin: left; animation: aw-portal-llenar 1.3s cubic-bezier(.2,.8,.2,1) both; }
.aw-portal__chip--activo, .aw-portal__chip--aprobada, .aw-portal__chip--entregado { background: #dcfce7; color: #14532d; }
.aw-portal__chip--pendiente, .aw-portal__chip--propuesta { background: #fdf0cc; color: #6b4a00; }
.aw-portal__chip--cambios, .aw-portal__chip--pausado { background: #fee2e2; color: #7f1d1d; }
.aw-portal__entrega { scroll-margin-top: 110px; }
.aw-portal__entrega--pendiente { border-color: var(--aw-gold); box-shadow: 0 0 0 3px rgba(241, 184, 47, 0.25); }
.aw-portal__tag { display: inline-block; margin-right: 0.3rem; padding: 0.15rem 0.6rem; border-radius: 99px; background: var(--aw-gold); color: var(--aw-ink); font: 700 0.7rem var(--aw-font-heading); font-style: normal; letter-spacing: 0.04em; text-transform: uppercase; }

/* Subir material: botón del selector de archivos con la marca */
.aw-portal input[type="file"] { width: 100%; box-sizing: border-box; padding: 0.45rem; font: inherit; color: var(--aw-muted); border: 1.5px dashed var(--aw-line); border-radius: var(--aw-radius-sm); background: var(--aw-surface-soft); }
.aw-portal input[type="file"]::file-selector-button { margin-right: 0.7rem; padding: 0.55rem 1rem; border: 0; border-radius: 99px; background: var(--aw-anthracite); color: #fff; font: 600 0.85rem var(--aw-font-heading); cursor: pointer; transition: background-color 0.2s ease; }
.aw-portal input[type="file"]::file-selector-button:hover { background: var(--aw-anthracite-deep); }
.aw-portal__archivos li { transition: background-color 0.15s ease; }
.aw-portal__archivos li:hover { background: var(--aw-surface-soft); }

@keyframes aw-portal-llenar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes aw-portal-latido { 0% { box-shadow: 0 0 0 0 rgba(241, 184, 47, 0.7); } 70%, 100% { box-shadow: 0 0 0 12px rgba(241, 184, 47, 0); } }
@media (prefers-reduced-motion: reduce) { .aw-portal__prog span, .aw-portal__punto { animation: none; } .aw-portal__atencion { transition: none; } .aw-portal__atencion:hover { transform: none; } }

/* Proyecto entregado: aviso de cierre */
.aw-portal__entregado { display: flex; gap: 1rem; align-items: flex-start; margin: 0 0 1.2rem; padding: 1.1rem 1.3rem; border-radius: 16px; background: linear-gradient(135deg, #14532d, #1d6b3b); color: #f0fdf4; }
.aw-portal__entregado-ico { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--aw-gold, #F1B82F); color: #0E0D08; display: grid; place-items: center; font: 800 1.3rem var(--aw-font-heading, sans-serif); }
.aw-portal__entregado strong { display: block; font: 800 1.1rem var(--aw-font-heading, sans-serif); color: #fff; }
.aw-portal__entregado p { margin: 0.25rem 0 0; color: #dcfce7; font-size: 0.95rem; }

/* ---------- Rediseño del portal: perfil, resumen del proyecto, etapas y alertas ---------- */
.aw-portal__perfil { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin: 0 0 1.2rem; padding: 1.2rem 1.5rem; background: #fff; border: 1px solid var(--aw-line); border-radius: 20px; box-shadow: 0 10px 30px rgba(14, 13, 8, 0.05); }
.aw-portal__avatar { flex: none; width: 3.4rem; height: 3.4rem; border-radius: 50%; display: grid; place-items: center; background: var(--aw-anthracite); color: var(--aw-gold); font: 800 1.4rem var(--aw-font-heading); }
.aw-portal__perfil-datos { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.aw-portal__perfil-datos strong { font: 800 1.1rem var(--aw-font-heading); color: var(--aw-ink); }
.aw-portal__perfil-datos span { color: var(--aw-anthracite); font-size: 0.95rem; }
.aw-portal__perfil-datos small { color: var(--aw-muted); overflow-wrap: anywhere; }
.aw-portal__perfil-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.2rem; }
.aw-portal__enlace { color: var(--aw-anthracite); font-size: 0.9rem; font-weight: 600; text-underline-offset: 3px; }

/* Tarjeta del proyecto con más aire en los bordes */
.aw-portal .aw-portal__proy { padding: clamp(1.4rem, 3.2vw, 2.4rem); }
.aw-portal__proy-cab { margin-bottom: 1.3rem; align-items: center; }
.aw-portal__eyebrow { display: block; margin-bottom: 0.2rem; font: 700 0.72rem var(--aw-font-heading); letter-spacing: 0.1em; text-transform: uppercase; color: var(--aw-muted); }
.aw-portal__proy-cab h3 { margin: 0 !important; font-size: clamp(1.25rem, 2.4vw, 1.6rem) !important; }
.aw-portal__datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.8rem; margin-bottom: 1.4rem; }
.aw-portal__ficha { padding: 0.9rem 1.1rem; border-radius: 14px; background: var(--aw-surface-soft); }
.aw-portal__ficha span { display: block; font: 600 0.72rem var(--aw-font-heading); letter-spacing: 0.06em; text-transform: uppercase; color: var(--aw-muted); }
.aw-portal__ficha strong { display: block; margin-top: 0.15rem; font: 800 1.2rem/1.2 var(--aw-font-heading); color: var(--aw-anthracite); }
.aw-portal__ficha small { display: block; margin-top: 0.1rem; color: var(--aw-muted); font-size: 0.82rem; }
.aw-portal__pasos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; list-style: none !important; margin: 0.9rem 0 1.3rem !important; padding: 0 !important; }
.aw-portal__pasos li { list-style: none !important; display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--aw-muted); line-height: 1.25; }
.aw-portal__pasos li::marker { content: none; }
.aw-portal__paso-n { flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; background: var(--aw-surface-soft); border: 1.5px solid var(--aw-line); font: 800 0.8rem var(--aw-font-heading); }
.aw-portal__pasos .es-hecho { color: var(--aw-anthracite); }
.aw-portal__pasos .es-hecho .aw-portal__paso-n { background: #14532d; border-color: #14532d; color: #fff; }
.aw-portal__pasos .es-actual { color: var(--aw-ink); font-weight: 700; }
.aw-portal__pasos .es-actual .aw-portal__paso-n { background: var(--aw-gold); border-color: var(--aw-gold); color: var(--aw-ink); }
@media (max-width: 640px) { .aw-portal__pasos { grid-template-columns: 1fr 1fr; } }
.aw-portal__sigue { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1.2rem; margin-bottom: 1.6rem; padding: 1rem 1.2rem; border-radius: 14px; border-left: 4px solid var(--aw-anthracite); background: #f7f5ef; }
.aw-portal__sigue strong { flex: 0 0 100%; font: 800 0.95rem var(--aw-font-heading); color: var(--aw-ink); }
.aw-portal__sigue p { flex: 1 1 260px; margin: 0; color: var(--aw-anthracite); }
.aw-portal__sigue--accion { border-left-color: var(--aw-gold); background: #fffaf0; }

/* Alerta: el avance depende del cliente */
.aw-portal__espera { display: flex; gap: 1rem; align-items: flex-start; margin: 0 0 1.4rem; padding: 1.2rem 1.4rem; border-radius: 16px; background: #fff3e0; border: 1.5px solid #e08a00; color: #5c3600; }
.aw-portal__espera-ico { flex: none; width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; background: #e08a00; color: #fff; font: 800 1.3rem var(--aw-font-heading); }
.aw-portal__espera strong { display: block; font: 800 1.05rem var(--aw-font-heading); color: #3d2400; }
.aw-portal__espera p { margin: 0.35rem 0 0.7rem; }
.aw-portal__espera-lista { padding: 0.6rem 0.8rem; border-radius: 10px; background: rgba(255, 255, 255, 0.65); }
.aw-portal__atencion--espera { background: #fff3e0 !important; border-color: #e08a00 !important; }
.aw-portal__atencion--espera .aw-portal__punto { background: #e08a00 !important; }

/* Línea de tiempo con más aire */
.aw-portal__linea { padding-left: 1.6rem !important; margin-left: 0.4rem !important; }
.aw-portal__linea li::before { left: calc(-1.6rem - 6px) !important; }
.aw-portal__cols { gap: clamp(1.4rem, 3vw, 2.4rem); }
.aw-portal__cols h4, .aw-portal__material summary h4 { margin: 0 0 0.9rem; }

/* Material plegable y código del proyecto al pie */
.aw-portal__material summary { cursor: pointer; list-style: none; }
.aw-portal__material summary::-webkit-details-marker { display: none; }
.aw-portal__material summary h4 { display: flex; align-items: center; justify-content: space-between; margin: 0; padding-bottom: 0.7rem; border-bottom: 2px solid var(--aw-gold); }
.aw-portal__material summary h4::after { content: "+"; font: 800 1.3rem var(--aw-font-heading); color: var(--aw-anthracite); }
.aw-portal__material[open] summary h4::after { content: "−"; }
.aw-portal__material[open] summary { margin-bottom: 1rem; }
.aw-portal__codigo { margin: 1.4rem 0 0; text-align: right; font-size: 0.8rem; color: var(--aw-muted); }
.aw-portal__codigo strong { color: var(--aw-anthracite); letter-spacing: 0.04em; }
.aw-portal__atencion--espera, .aw-portal__atencion--espera span, .aw-portal__atencion--espera strong { color: #3d2400 !important; }
.aw-portal__atencion--espera .aw-portal__ir { color: #b45f00 !important; font-weight: 800; }
.aw-portal__espera-lista { margin-bottom: 1rem !important; }
.aw-portal__espera .aw-btn { display: inline-block; margin-top: 0.2rem; text-decoration: none; }

/* ---------- Administración del sitio: cambios solicitados ---------- */
.aw-cambios { margin: 0 0 1.8rem; padding: clamp(1.1rem, 2.6vw, 1.8rem); border-radius: 18px; background: #f7f5ef; border: 1px solid var(--aw-line); }
.aw-cambios__cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1rem; margin-bottom: 1.1rem; }
.aw-cambios__cab h4 { margin: 0 !important; font-size: 1.2rem !important; }
.aw-cambios__plan { background: var(--aw-anthracite); color: var(--aw-gold); border-color: var(--aw-anthracite); font-weight: 800; }
.aw-cambios__cupo { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.8rem; margin-bottom: 1.1rem; }
.aw-cambios__cupo > div { padding: 0.8rem 1rem; border-radius: 12px; background: #fff; border: 1px solid var(--aw-line); }
.aw-cambios__cupo span { display: block; font: 600 0.72rem var(--aw-font-heading); letter-spacing: 0.06em; text-transform: uppercase; color: var(--aw-muted); }
.aw-cambios__cupo strong { display: block; margin-top: 0.1rem; font: 800 1.1rem var(--aw-font-heading); color: var(--aw-anthracite); }
.aw-cambios__cupo small { color: var(--aw-muted); }
.aw-cambios__nota { margin: 0 0 1.1rem; padding: 0.8rem 1rem; border-radius: 12px; background: #fff; border-left: 4px solid var(--aw-gold); color: var(--aw-anthracite); }
.aw-cambios__nuevo { margin-bottom: 1.2rem; }
.aw-cambios__nuevo > summary { display: inline-block; cursor: pointer; list-style: none; }
.aw-cambios__nuevo > summary::-webkit-details-marker { display: none; }
.aw-cambios__form { display: grid; gap: 0.8rem; margin-top: 1rem; padding: 1.2rem; border-radius: 14px; background: #fff; border: 1px solid var(--aw-line); }
.aw-cambios__form label { display: block; font-size: 0.88rem; font-weight: 600; margin-bottom: 0.3rem; }
.aw-cambios__form select, .aw-cambios__form textarea { width: 100%; }
.aw-cambios__aviso { margin: 0; padding: 0.6rem 0.9rem; border-radius: 10px; background: #fffaf0; border: 1px solid #f1d28a; font-size: 0.9rem; color: #5c4300; }
.aw-cambios__tip { margin: 0; font-size: 0.82rem; color: var(--aw-muted); }
.aw-cambios__form button { justify-self: start; }

.aw-cambio { margin-bottom: 0.9rem; padding: 1.1rem 1.3rem; border-radius: 14px; background: #fff; border: 1px solid var(--aw-line); }
.aw-cambio--listo { border-color: var(--aw-gold); background: #fffaf0; box-shadow: 0 0 0 3px rgba(241, 184, 47, 0.25); }
.aw-cambio > header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 0.5rem 1rem; }
.aw-cambio > header small { display: block; color: var(--aw-muted); }
.aw-cambio__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.aw-cambio__tag { font-style: normal; font: 700 0.7rem var(--aw-font-heading); letter-spacing: 0.04em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 999px; }
.aw-cambio__tag--ok { background: #dcfce7; color: #14532d; }
.aw-cambio__tag--cot { background: #e9e6de; color: #3d3b35; }
.aw-cambio__estado--listo { background: var(--aw-gold); border-color: var(--aw-gold); }
.aw-cambio__estado--aprobada { background: #dcfce7; color: #14532d; }
.aw-cambio__estado--en_proceso { background: #e0ecff; color: #1d3f7a; }
.aw-cambio__texto { margin: 0.7rem 0; color: var(--aw-anthracite); }
.aw-cambio__pasos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.4rem; list-style: none !important; margin: 0.8rem 0 !important; padding: 0 !important; }
.aw-cambio__pasos li { list-style: none !important; display: flex; align-items: center; gap: 0.4rem; font-size: 0.8rem; color: var(--aw-muted); line-height: 1.2; }
.aw-cambio__pasos li::marker { content: none; }
.aw-cambio__pasos li span { flex: none; width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; background: var(--aw-surface-soft); border: 1.5px solid var(--aw-line); font: 800 0.72rem var(--aw-font-heading); }
.aw-cambio__pasos .es-hecho { color: var(--aw-anthracite); }
.aw-cambio__pasos .es-hecho span { background: #14532d; border-color: #14532d; color: #fff; }
.aw-cambio__pasos .es-actual { color: var(--aw-ink); font-weight: 700; }
.aw-cambio__pasos .es-actual span { background: var(--aw-gold); border-color: var(--aw-gold); color: var(--aw-ink); }
@media (max-width: 640px) { .aw-cambio__pasos { grid-template-columns: 1fr 1fr; } }
.aw-cambio__info, .aw-cambio__nota { margin: 0.6rem 0; padding: 0.6rem 0.9rem; border-radius: 10px; background: #f7f5ef; font-size: 0.9rem; }
.aw-cambio__resp { display: grid; gap: 0.5rem; margin-top: 0.8rem; }
.aw-cambio__resp label { font-size: 0.85rem; color: var(--aw-muted); }
.aw-cambio__historia { margin-top: 0.7rem; font-size: 0.88rem; }
.aw-cambio__historia summary, .aw-cambios__historial summary { cursor: pointer; color: var(--aw-anthracite); font-weight: 600; }
.aw-cambio__historia ol { margin: 0.6rem 0 0 !important; padding-left: 1.3rem !important; list-style: none !important; border-left: 2px solid var(--aw-line); }
.aw-cambio__historia li { list-style: none !important; margin-bottom: 0.5rem; }
.aw-cambio__historia time { color: var(--aw-muted); font-size: 0.8rem; }
.aw-cambios__historial { margin-top: 1rem; }
.aw-cambios__historial table { width: 100%; margin-top: 0.7rem; border-collapse: collapse; font-size: 0.88rem; }
.aw-cambios__historial th, .aw-cambios__historial td { padding: 0.5rem 0.6rem; text-align: left; border-bottom: 1px solid var(--aw-line); }
.aw-cambios__historial th { font: 700 0.72rem var(--aw-font-heading); text-transform: uppercase; letter-spacing: 0.05em; color: var(--aw-muted); }

/* Paginación de historiales (de a 3) */
.aw-pag { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem; margin-top: 0.8rem; }
.aw-pag__info { font-size: 0.85rem; color: var(--aw-muted); }
.aw-pag__btn { padding: 0.45rem 0.9rem; border-radius: 10px; border: 1.5px solid var(--aw-anthracite); background: transparent; color: var(--aw-anthracite); font: 700 0.85rem var(--aw-font-heading); cursor: pointer; }
.aw-pag__btn:disabled { opacity: 0.4; cursor: default; }
.aw-cambios__lista { margin-top: 0.8rem; }
.aw-cambios__historial > summary { padding: 0.5rem 0; }
.aw-cambios__historial > summary::before { content: "▸ "; }
.aw-cambios__historial[open] > summary::before { content: "▾ "; }

/* Elegir plan de administración */
.aw-cambios__planes { margin-top: 0.4rem; padding: 1.1rem 1.2rem; border-radius: 14px; background: #fff; border: 1px solid var(--aw-line); }
.aw-cambios__planes-tit { margin: 0 0 0.7rem; font-weight: 700; }
.aw-cambios__planes-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0.7rem; margin-bottom: 0.9rem; }
.aw-cambios__plan-op { display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.9rem 1rem; border: 1.5px solid var(--aw-line); border-radius: 12px; cursor: pointer; background: #fff; }
.aw-cambios__plan-op:has(input:checked) { border-color: var(--aw-gold); background: #fffaf0; box-shadow: 0 0 0 3px rgba(241, 184, 47, 0.22); }
.aw-cambios__plan-op input { margin-top: 0.25rem; }
.aw-cambios__plan-op strong { display: block; font: 800 1.05rem var(--aw-font-heading); }
.aw-cambios__plan-op small { display: block; margin: 0.15rem 0 0.3rem; color: var(--aw-muted); line-height: 1.4; }
.aw-cambios__plan-op em { font-style: normal; font-weight: 800; color: var(--aw-anthracite); }
.aw-cambios__pedido { margin-top: 0.4rem; padding: 1rem 1.2rem; border-radius: 14px; background: #fff; border-left: 4px solid var(--aw-gold); }
.aw-cambios__pedido p { margin: 0.3rem 0 0.8rem; color: var(--aw-anthracite); }
